diff options
author | Arend van Spriel <arend.vanspriel@broadcom.com> | 2019-08-02 07:31:04 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2019-08-21 04:54:57 -0400 |
commit | 5ea4e7802c43144f5529d1b60c01853dc5c24797 (patch) | |
tree | 719fe7c3c39b9eba11c3deca25db28d8dfb36354 /net/wireless | |
parent | 0816e6b1177adb4f120767434c67441c30de10d2 (diff) |
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, | |||
104 | * use the mandatory rate set for 11b or | 104 | * use the mandatory rate set for 11b or |
105 | * 11a for maximum compatibility. | 105 | * 11a for maximum compatibility. |
106 | */ | 106 | */ |
107 | struct ieee80211_supported_band *sband = | 107 | struct ieee80211_supported_band *sband; |
108 | rdev->wiphy.bands[params->chandef.chan->band]; | 108 | enum nl80211_band band; |
109 | u32 flag; | ||
109 | int j; | 110 | int j; |
110 | u32 flag = params->chandef.chan->band == NL80211_BAND_5GHZ ? | ||
111 | IEEE80211_RATE_MANDATORY_A : | ||
112 | IEEE80211_RATE_MANDATORY_B; | ||
113 | 111 | ||
112 | band = params->chandef.chan->band; | ||
113 | if (band == NL80211_BAND_5GHZ || | ||
114 | band == NL80211_BAND_6GHZ) | ||
115 | flag = IEEE80211_RATE_MANDATORY_A; | ||
116 | else | ||
117 | flag = IEEE80211_RATE_MANDATORY_B; | ||
118 | |||
119 | sband = rdev->wiphy.bands[band]; | ||
114 | for (j = 0; j < sband->n_bitrates; j++) { | 120 | for (j = 0; j < sband->n_bitrates; j++) { |
115 | if (sband->bitrates[j].flags & flag) | 121 | if (sband->bitrates[j].flags & flag) |
116 | params->basic_rates |= BIT(j); | 122 | params->basic_rates |= BIT(j); |