2020-06-20 04:43:55

by Amar Singhal

[permalink] [raw]
Subject: [PATCH] cfg80211: Adjust 6ghz frequencies per channelization

Per 11ax draft 6.1, 6ghz frequencies need adjustment. Also orphan
channel of frequency 5935 MHz has been added. Modify utilities
accordingly.

Signed-off-by: Amar Singhal <[email protected]>
---
net/wireless/util.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/net/wireless/util.c b/net/wireless/util.c
index df75e58..3fb4f4b 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -92,9 +92,11 @@ u32 ieee80211_channel_to_freq_khz(int chan, enum nl80211_band band)
return MHZ_TO_KHZ(5000 + chan * 5);
break;
case NL80211_BAND_6GHZ:
- /* see 802.11ax D4.1 27.3.22.2 */
- if (chan <= 253)
- return 5940 + chan * 5;
+ /* see 802.11ax D6.1 27.3.22.2 */
+ if (chan == 2)
+ return 5925 + chan * 5;
+ if (chan <= 233)
+ return 5950 + chan * 5;
break;
case NL80211_BAND_60GHZ:
if (chan < 7)
@@ -119,11 +121,13 @@ int ieee80211_freq_khz_to_channel(u32 freq)
return (freq - 2407) / 5;
else if (freq >= 4910 && freq <= 4980)
return (freq - 4000) / 5;
- else if (freq < 5945)
+ else if (freq < 5925)
return (freq - 5000) / 5;
+ else if (freq == 5935)
+ return (freq - 5925) / 5;
else if (freq <= 45000) /* DMG band lower limit */
- /* see 802.11ax D4.1 27.3.22.2 */
- return (freq - 5940) / 5;
+ /* see 802.11ax D6.1 27.3.22.2 */
+ return (freq - 5950) / 5;
else if (freq >= 58320 && freq <= 70200)
return (freq - 56160) / 2160;
else
--
1.9.1