mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-01-13 10:21:04 +00:00
mac80211: add client mode connection monitor fix
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
7d8e14e44f
commit
dfdb28c24a
@ -0,0 +1,31 @@
|
||||
From: Ben Greear <greearb@candelatech.com>
|
||||
Date: Tue, 30 Mar 2021 16:07:49 -0700
|
||||
Subject: [PATCH] mac80211: fix time-is-after bug in mlme
|
||||
|
||||
The incorrect timeout check caused probing to happen when it did
|
||||
not need to happen. This in turn caused tx performance drop
|
||||
for around 5 seconds in ath10k-ct driver. Possibly that tx drop
|
||||
is due to a secondary issue, but fixing the probe to not happen
|
||||
when traffic is running fixes the symptom.
|
||||
|
||||
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
||||
Fixes: 9abf4e49830d ("mac80211: optimize station connection monitor")
|
||||
Acked-by: Felix Fietkau <nbd@nbd.name>
|
||||
Link: https://lore.kernel.org/r/20210330230749.14097-1-greearb@candelatech.com
|
||||
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/mlme.c
|
||||
+++ b/net/mac80211/mlme.c
|
||||
@@ -4691,7 +4691,10 @@ static void ieee80211_sta_conn_mon_timer
|
||||
timeout = sta->rx_stats.last_rx;
|
||||
timeout += IEEE80211_CONNECTION_IDLE_TIME;
|
||||
|
||||
- if (time_is_before_jiffies(timeout)) {
|
||||
+ /* If timeout is after now, then update timer to fire at
|
||||
+ * the later date, but do not actually probe at this time.
|
||||
+ */
|
||||
+ if (time_is_after_jiffies(timeout)) {
|
||||
mod_timer(&ifmgd->conn_mon_timer, round_jiffies_up(timeout));
|
||||
return;
|
||||
}
|
Loading…
Reference in New Issue
Block a user