[openwrt/openwrt] mac80211: fix regression in station connection monitor optimization

LEDE Commits lede-commits at lists.infradead.org
Mon Sep 21 11:56:40 EDT 2020


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/1c6d45644a54e50b6445bbc63eff1ae34b2f1e2e

commit 1c6d45644a54e50b6445bbc63eff1ae34b2f1e2e
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Mon Sep 21 17:56:04 2020 +0200

    mac80211: fix regression in station connection monitor optimization
    
    When the nulldata frame was acked, the probe send count needs to be reset,
    otherwise it will keep increasing until the connection is considered dead,
    even though it fine.
    
    Reported-by: Georgi Valkov <gvalkov at abv.bg>
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 ...-fix-regression-in-sta-connection-monitor.patch | 26 ++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/package/kernel/mac80211/patches/subsys/332-mac80211-fix-regression-in-sta-connection-monitor.patch b/package/kernel/mac80211/patches/subsys/332-mac80211-fix-regression-in-sta-connection-monitor.patch
new file mode 100644
index 0000000000..787883e217
--- /dev/null
+++ b/package/kernel/mac80211/patches/subsys/332-mac80211-fix-regression-in-sta-connection-monitor.patch
@@ -0,0 +1,26 @@
+From: Felix Fietkau <nbd at nbd.name>
+Date: Mon, 21 Sep 2020 17:43:06 +0200
+Subject: [PATCH] mac80211: fix regression in sta connection monitor
+
+When the nulldata frame was acked, the probe send count needs to be reset,
+otherwise it will keep increasing until the connection is considered dead,
+even though it fine.
+
+Fixes: 9abf4e49830d ("mac80211: optimize station connection monitor")
+Reported-by: Georgi Valkov <gvalkov at abv.bg>
+Signed-off-by: Felix Fietkau <nbd at nbd.name>
+---
+
+--- a/net/mac80211/mlme.c
++++ b/net/mac80211/mlme.c
+@@ -2508,7 +2508,9 @@ void ieee80211_sta_tx_notify(struct ieee
+ 	    !sdata->u.mgd.probe_send_count)
+ 		return;
+ 
+-	if (!ack)
++	if (ack)
++		sdata->u.mgd.probe_send_count = 0;
++	else
+ 		sdata->u.mgd.nullfunc_failed = true;
+ 	ieee80211_queue_work(&sdata->local->hw, &sdata->work);
+ }



More information about the lede-commits mailing list