mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 17:48:58 +00:00
24d0e74627
This brings many changes, including fixes for a couple of memory leaks, and improved interoperability with 802.11r. There are also many changes related to 802.11be, which is not enabled at this time. Fixed upstream: - 022-hostapd-fix-use-of-uninitialized-stack-variables.patch - 180-driver_nl80211-fix-setting-QoS-map-on-secondary-BSSs.patch - 993-2023-10-28-ACS-Fix-typo-in-bw_40-frequency-array.patch Switch PKG_SOURCE_URL to https, since http is not currently working. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com> Tested-by: Ilya Katsnelson <me@0upti.me> Tested by: Andrew Sim <andrewsimz@gmail.com>
44 lines
1001 B
Diff
44 lines
1001 B
Diff
--- a/wpa_supplicant/ap.c
|
|
+++ b/wpa_supplicant/ap.c
|
|
@@ -1846,17 +1846,37 @@ int ap_switch_channel(struct wpa_supplic
|
|
|
|
|
|
#ifdef CONFIG_CTRL_IFACE
|
|
+
|
|
+static int __ap_ctrl_iface_chanswitch(struct hostapd_iface *iface,
|
|
+ struct csa_settings *settings)
|
|
+{
|
|
+#ifdef NEED_AP_MLME
|
|
+ if (!iface || !iface->bss[0])
|
|
+ return 0;
|
|
+
|
|
+ return hostapd_switch_channel(iface->bss[0], settings);
|
|
+#else
|
|
+ return -1;
|
|
+#endif
|
|
+}
|
|
+
|
|
+
|
|
int ap_ctrl_iface_chanswitch(struct wpa_supplicant *wpa_s, const char *pos)
|
|
{
|
|
struct csa_settings settings;
|
|
int ret = hostapd_parse_csa_settings(pos, &settings);
|
|
|
|
- if (ret)
|
|
- return ret;
|
|
+ if (!(wpa_s->ap_iface && wpa_s->ap_iface->bss[0]) &&
|
|
+ !(wpa_s->ifmsh && wpa_s->ifmsh->bss[0]))
|
|
+ return -1;
|
|
|
|
settings.link_id = -1;
|
|
|
|
- return ap_switch_channel(wpa_s, &settings);
|
|
+ ret = __ap_ctrl_iface_chanswitch(wpa_s->ap_iface, &settings);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ return __ap_ctrl_iface_chanswitch(wpa_s->ifmsh, &settings);
|
|
}
|
|
#endif /* CONFIG_CTRL_IFACE */
|
|
|