]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
WNM: Extend workaround for broken AP operating class behavior
authorYu Zhang(Yuriy) <quic_yuzha@quicinc.com>
Thu, 1 Aug 2024 10:37:25 +0000 (18:37 +0800)
committerJouni Malinen <j@w1.fi>
Thu, 8 Aug 2024 19:26:53 +0000 (22:26 +0300)
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 80ce804e8824 ("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>
wpa_supplicant/wnm_sta.c

index 58a124c008a2dec5e701e01e1b4cfebe37f2f9d9..662f6089e6f54548714ffbd9282d487cd89fb6b1 100644 (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);
-       if (freq <= 0 && op_class == 0) {
+       if (freq <= 0 && (op_class == 0 || op_class == 255)) {
                /*
                 * Some APs do not advertise correct operating class
                 * information. Try to determine the most likely operating