diff options
author | Felix Fietkau <nbd@nbd.name> | 2016-07-06 08:06:46 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2016-07-06 10:12:37 +0200 |
commit | ad430c1080fa2096d02b054115bd806af4906aea (patch) | |
tree | 03e7ee01627506e32227aec81e795da945f8a6df /package/network | |
parent | 5b728074160bb1db064737baf95945ae2e972549 (diff) | |
download | upstream-ad430c1080fa2096d02b054115bd806af4906aea.tar.gz upstream-ad430c1080fa2096d02b054115bd806af4906aea.tar.bz2 upstream-ad430c1080fa2096d02b054115bd806af4906aea.zip |
hostapd: add a WDS AP fix for reconnecting clients
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/network')
-rw-r--r-- | package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch b/package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch new file mode 100644 index 0000000000..5c8b6622c9 --- /dev/null +++ b/package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch @@ -0,0 +1,25 @@ +From: Matthias May <matthias.may@neratec.com> +Date: Tue, 5 Jul 2016 15:00:43 +0200 +Subject: [PATCH] 4addr: fix reconnecting client on connection lost + +When a 4addr client suddenly looses its connection (no deauth/deassoc) +the AP still thinks it is connected. +If the client reconnects before the AP timeoutes the client, traffic +cannot flow. + +Fix this by making sure the WLAN_STA_WDS flag is unset in the sta->flags +when the client completes association. + +Signed-off-by: Matthias May <matthias.may@neratec.com> +--- + +--- a/src/ap/ieee802_11.c ++++ b/src/ap/ieee802_11.c +@@ -2826,6 +2826,7 @@ static void handle_assoc_cb(struct hosta + new_assoc = 0; + sta->flags |= WLAN_STA_ASSOC; + sta->flags &= ~WLAN_STA_WNM_SLEEP_MODE; ++ sta->flags &= ~WLAN_STA_WDS; + if ((!hapd->conf->ieee802_1x && !hapd->conf->wpa && !hapd->conf->osen) || + sta->auth_alg == WLAN_AUTH_FT) { + /* |