wl1251: specify max. IE length
authorMerlijn Wajer <merlijn@wizzup.org>
Sun, 12 Dec 2021 22:13:08 +0000 (23:13 +0100)
committerKalle Valo <kvalo@kernel.org>
Thu, 16 Dec 2021 08:28:38 +0000 (10:28 +0200)
This fix is similar to commit 77c91295ea53 ("wil6210: specify max. IE
length").  Without the max IE length set, wpa_supplicant cannot operate
using the nl80211 interface.

This patch is a workaround - the number 512 is taken from the wlcore
driver, but note that per Paul Fertser:

    there's no correct number because the driver will ignore the data
    passed in extra IEs.

Suggested-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Merlijn Wajer <merlijn@wizzup.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20211212221310.5453-1-merlijn@wizzup.org
drivers/net/wireless/ti/wl1251/main.c

index 136a0d3..a25a614 100644 (file)
@@ -1520,6 +1520,12 @@ int wl1251_init_ieee80211(struct wl1251 *wl)
        wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
                                         BIT(NL80211_IFTYPE_ADHOC);
        wl->hw->wiphy->max_scan_ssids = 1;
+
+       /* We set max_scan_ie_len to a random value to make wpa_supplicant scans not
+        * fail, as the driver will the ignore the extra passed IEs anyway
+        */
+       wl->hw->wiphy->max_scan_ie_len = 512;
+
        wl->hw->wiphy->bands[NL80211_BAND_2GHZ] = &wl1251_band_2ghz;
 
        wl->hw->queues = 4;