summaryrefslogtreecommitdiff
path: root/package/hostapd/patches/140-wds_sta_remove.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/hostapd/patches/140-wds_sta_remove.patch')
-rw-r--r--package/hostapd/patches/140-wds_sta_remove.patch12
1 files changed, 12 insertions, 0 deletions
diff --git a/package/hostapd/patches/140-wds_sta_remove.patch b/package/hostapd/patches/140-wds_sta_remove.patch
new file mode 100644
index 0000000..80e036e
--- /dev/null
+++ b/package/hostapd/patches/140-wds_sta_remove.patch
@@ -0,0 +1,12 @@
+--- a/src/ap/sta_info.c
++++ b/src/ap/sta_info.c
+@@ -121,7 +121,8 @@ void ap_free_sta(struct hostapd_data *ha
+
+ accounting_sta_stop(hapd, sta);
+
+- hapd->drv.set_wds_sta(hapd, sta->addr, sta->aid, 0);
++ if (sta->flags & WLAN_STA_WDS)
++ hapd->drv.set_wds_sta(hapd, sta->addr, sta->aid, 0);
+ if (!ap_sta_in_other_bss(hapd, sta, WLAN_STA_ASSOC) &&
+ !(sta->flags & WLAN_STA_PREAUTH))
+ hapd->drv.sta_remove(hapd, sta->addr);