WNM: Extend workaround for broken AP operating class behavior

Some APs do not advertise operating classes correctly for BSS Transition
Management. Try to determine the most likely operating frequency based
on the channel number (1..14 --> 2.4 GHz; 36..177 --> 5 GHz) if invalid
op_class == 255 is received in a BSS Transition Management Request. This
speeds up the following operating by avoiding a full scan due to an
unknown channel.

This extends the workaround that was added in commit 80ce804e88 ("WNM:
Workaround for broken AP operating class behavior") for invalid
operating class 0 to cover another observed case with invalid operating
class 255.

Signed-off-by: Yu Zhang(Yuriy) <quic_yuzha@quicinc.com>
This commit is contained in:
Yu Zhang(Yuriy) 2024-08-01 18:37:25 +08:00 committed by Jouni Malinen
parent e900bcb149
commit 72ac0ee026

View file

@ -555,7 +555,7 @@ static int wnm_nei_get_chan(struct wpa_supplicant *wpa_s, u8 op_class, u8 chan)
} }
freq = ieee80211_chan_to_freq(country, op_class, chan); freq = ieee80211_chan_to_freq(country, op_class, chan);
if (freq <= 0 && op_class == 0) { if (freq <= 0 && (op_class == 0 || op_class == 255)) {
/* /*
* Some APs do not advertise correct operating class * Some APs do not advertise correct operating class
* information. Try to determine the most likely operating * information. Try to determine the most likely operating