diff options
author | Raphaël Mélotte <raphael.melotte@mind.be> | 2021-02-09 07:54:10 +0100 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2021-02-13 13:44:22 +0000 |
commit | 68073e2d46d618d4452b653c06d14a9d361623d3 (patch) | |
tree | b718d3ca97d06ee2df587564e237bac3ee9a9972 /package/network/services/hostapd/patches/130-wpa_supplicant-multi_ap_roam.patch | |
parent | 048131ba3a80135fd8d7772d1a0cf0c6bb19d523 (diff) | |
download | upstream-68073e2d46d618d4452b653c06d14a9d361623d3.tar.gz upstream-68073e2d46d618d4452b653c06d14a9d361623d3.tar.bz2 upstream-68073e2d46d618d4452b653c06d14a9d361623d3.zip |
hostapd: add patch for setting 4addr mode in multi_ap
This patch is required to be able to roam from one backhaul AP to
another one in the same ESS.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(daniel@makrotopia.org: PKG_REVISION bump and refreshed patches)
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Diffstat (limited to 'package/network/services/hostapd/patches/130-wpa_supplicant-multi_ap_roam.patch')
-rw-r--r-- | package/network/services/hostapd/patches/130-wpa_supplicant-multi_ap_roam.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/130-wpa_supplicant-multi_ap_roam.patch b/package/network/services/hostapd/patches/130-wpa_supplicant-multi_ap_roam.patch new file mode 100644 index 0000000000..fd3017af92 --- /dev/null +++ b/package/network/services/hostapd/patches/130-wpa_supplicant-multi_ap_roam.patch @@ -0,0 +1,37 @@ +From 8a4893dd06eb236460db4937f3c54e246739ad28 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?= <raphael.melotte@mind.be> +Date: Wed, 3 Feb 2021 14:23:17 +0100 +Subject: [PATCH] wpa_supplicant: multi_ap: only enable 4addr mode if not + already enabled +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If 4addr mode is already enabled, the call to enable it a second time +may fail. If this happens when roaming, it leads to deauthentication. + +Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be> +--- + wpa_supplicant/events.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +--- a/wpa_supplicant/events.c ++++ b/wpa_supplicant/events.c +@@ -2589,11 +2589,13 @@ static void multi_ap_set_4addr_mode(stru + goto fail; + } + +- if (wpa_drv_set_4addr_mode(wpa_s, 1) < 0) { +- wpa_printf(MSG_ERROR, "Failed to set 4addr mode"); +- goto fail; ++ if (wpa_s->enabled_4addr_mode == 0) { ++ if (wpa_drv_set_4addr_mode(wpa_s, 1) < 0) { ++ wpa_printf(MSG_ERROR, "Failed to set 4addr mode"); ++ goto fail; ++ } ++ wpa_s->enabled_4addr_mode = 1; + } +- wpa_s->enabled_4addr_mode = 1; + return; + + fail: |