@@ -180,6 +180,11 @@ int ieee80211_channel_to_frequency(int chan, enum nl80211_band band)
else
return 5000 + chan * 5;
break;
+ case NL80211_BAND_6GHZ:
+ /* see 802.11ax D4.1 27.3.22.2 */
+ if (chan <= 253)
+ return 5940 + chan * 5;
+ break;
case NL80211_BAND_60GHZ:
if (chan < 5)
return 56160 + chan * 2160;
@@ -199,9 +204,12 @@ int ieee80211_frequency_to_channel(int freq)
return (freq - 2407) / 5;
else if (freq >= 4910 && freq <= 4980)
return (freq - 4000) / 5;
- else if (freq <= 45000) /* DMG band lower limit */
+ else if (freq < 5945)
return (freq - 5000) / 5;
- else if (freq >= 58320 && freq <= 64800)
+ else if (freq <= 45000) /* DMG band lower limit */
+ /* see 802.11ax D4.1 27.3.22.2 */
+ return (freq - 5940) / 5;
+ else if (freq >= 58320 && freq <= 70200)
return (freq - 56160) / 2160;
else
return 0;
This enables support for channel to frequency conversion and vice versa for 6GHz channels and frequencies. Channel numbers of 6GHz band might overlap with those of 5G and 2G bands. Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org> --- util.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)