Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Arend van Spriel and committed by
Johannes Berg
5ea4e780 0816e6b1

+11 -5
+11 -5
net/wireless/ibss.c
··· 104 104 * use the mandatory rate set for 11b or 105 105 * 11a for maximum compatibility. 106 106 */ 107 - struct ieee80211_supported_band *sband = 108 - rdev->wiphy.bands[params->chandef.chan->band]; 107 + struct ieee80211_supported_band *sband; 108 + enum nl80211_band band; 109 + u32 flag; 109 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 120 for (j = 0; j < sband->n_bitrates; j++) { 115 121 if (sband->bitrates[j].flags & flag) 116 122 params->basic_rates |= BIT(j);