diff options
author | Arend van Spriel <arend.vanspriel@broadcom.com> | 2019-08-02 13:31:04 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2019-08-21 10:54:57 +0200 |
commit | 5ea4e7802c43144f5529d1b60c01853dc5c24797 (patch) | |
tree | 719fe7c3c39b9eba11c3deca25db28d8dfb36354 /net/wireless | |
parent | 0816e6b1177adb4f120767434c67441c30de10d2 (diff) | |
download | linux-5ea4e7802c43144f5529d1b60c01853dc5c24797.tar.gz linux-5ea4e7802c43144f5529d1b60c01853dc5c24797.tar.bz2 linux-5ea4e7802c43144f5529d1b60c01853dc5c24797.zip |
cfg80211: ibss: use 11a mandatory rates for 6GHz band operation
The default mandatory rates, ie. when not specified by user-space, is
determined by the band. Select 11a rateset for 6GHz band.
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Link: https://lore.kernel.org/r/1564745465-21234-8-git-send-email-arend.vanspriel@broadcom.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/ibss.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/net/wireless/ibss.c b/net/wireless/ibss.c index d1743e6abc34..ae8fe66a9bb8 100644 --- a/net/wireless/ibss.c +++ b/net/wireless/ibss.c @@ -104,13 +104,19 @@ int __cfg80211_join_ibss(struct cfg80211_registered_device *rdev, * use the mandatory rate set for 11b or * 11a for maximum compatibility. */ - struct ieee80211_supported_band *sband = - rdev->wiphy.bands[params->chandef.chan->band]; + struct ieee80211_supported_band *sband; + enum nl80211_band band; + u32 flag; int j; - u32 flag = params->chandef.chan->band == NL80211_BAND_5GHZ ? - IEEE80211_RATE_MANDATORY_A : - IEEE80211_RATE_MANDATORY_B; + band = params->chandef.chan->band; + if (band == NL80211_BAND_5GHZ || + band == NL80211_BAND_6GHZ) + flag = IEEE80211_RATE_MANDATORY_A; + else + flag = IEEE80211_RATE_MANDATORY_B; + + sband = rdev->wiphy.bands[band]; for (j = 0; j < sband->n_bitrates; j++) { if (sband->bitrates[j].flags & flag) params->basic_rates |= BIT(j); |