diff options
author | Arik Nemtsov <arik@wizery.com> | 2014-07-17 17:14:29 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-07-21 12:14:04 +0200 |
commit | c72e1140463a643579c3f9e09f990e71e95671ac (patch) | |
tree | 7368e94c0489bd97325c076437f212b8c51811b3 /net/wireless | |
parent | bed766bd4cea6413df73e8a314ebf40dd6a920f8 (diff) | |
download | linux-stable-c72e1140463a643579c3f9e09f990e71e95671ac.tar.gz linux-stable-c72e1140463a643579c3f9e09f990e71e95671ac.tar.bz2 linux-stable-c72e1140463a643579c3f9e09f990e71e95671ac.zip |
cfg80211: fix TDLS setup with VHT peers
Some VHT TDLS peers (Google Nexus 5) include the VHT-AID IE in their
TDLS setup request/response. Usermode passes this aid as the station
aid, causing it to fail verifiction, since this happens in the
"set_station" stage. Make an exception for the TDLS use-case.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/nl80211.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index c10295138eb5..13997c954249 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -3815,7 +3815,8 @@ int cfg80211_check_station_change(struct wiphy *wiphy, { if (params->listen_interval != -1) return -EINVAL; - if (params->aid) + if (params->aid && + !(params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER))) return -EINVAL; /* When you run into this, adjust the code below for the new flag */ |