aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorArend van Spriel <arend.vanspriel@broadcom.com>2019-08-02 07:31:04 -0400
committerJohannes Berg <johannes.berg@intel.com>2019-08-21 04:54:57 -0400
commit5ea4e7802c43144f5529d1b60c01853dc5c24797 (patch)
tree719fe7c3c39b9eba11c3deca25db28d8dfb36354 /net/wireless
parent0816e6b1177adb4f120767434c67441c30de10d2 (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.c16
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);