diff options
author | Sara Sharon <sara.sharon@intel.com> | 2019-01-16 22:03:25 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2019-02-08 13:56:37 +0100 |
commit | caf56338c22f00098bf2acd646b0ddc691c80c24 (patch) | |
tree | b86354b7e9976e1cfbaa0e269176af1515ba8f4d /net/mac80211/mlme.c | |
parent | mac80211: support multi-bssid (diff) | |
download | linux-caf56338c22f00098bf2acd646b0ddc691c80c24.tar.xz linux-caf56338c22f00098bf2acd646b0ddc691c80c24.zip |
mac80211: indicate support for multiple BSSID
Set multi-bssid support flags according to driver support.
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 64b6ddb67456..a49fbb3f3ed7 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -813,6 +813,21 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata) } } + /* Set MBSSID support for HE AP if needed */ + if (ieee80211_hw_check(&local->hw, SUPPORTS_ONLY_HE_MULTI_BSSID) && + !(ifmgd->flags & IEEE80211_STA_DISABLE_HE) && assoc_data->ie_len) { + struct element *elem; + + /* we know it's writable, cast away the const */ + elem = (void *)cfg80211_find_elem(WLAN_EID_EXT_CAPABILITY, + assoc_data->ie, + assoc_data->ie_len); + + /* We can probably assume both always true */ + if (elem && elem->datalen >= 3) + elem->data[2] |= WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT; + } + /* if present, add any custom IEs that go before HT */ if (assoc_data->ie_len) { static const u8 before_ht[] = { |