mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 14:37:57 +00:00
mac80211: fix spurious disconnections with powersave clients
Affects all drivers using ieee80211_tx_status_noskb, e.g. ath9k and mt76 Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
e95e9fcbb2
commit
3879fc2b1a
@ -0,0 +1,26 @@
|
|||||||
|
From: Felix Fietkau <nbd@nbd.name>
|
||||||
|
Date: Tue, 13 Nov 2018 20:29:03 +0100
|
||||||
|
Subject: [PATCH] mac80211: ignore tx status for PS stations in
|
||||||
|
ieee80211_tx_status_ext
|
||||||
|
|
||||||
|
Make it behave like regular ieee80211_tx_status calls, except for the lack of
|
||||||
|
filtered frame processing.
|
||||||
|
This fixes spurious low-ack triggered disconnections with powersave clients
|
||||||
|
connected to an AP.
|
||||||
|
|
||||||
|
Fixes: f027c2aca0cf4 ("mac80211: add ieee80211_tx_status_noskb")
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
---
|
||||||
|
|
||||||
|
--- a/net/mac80211/status.c
|
||||||
|
+++ b/net/mac80211/status.c
|
||||||
|
@@ -987,6 +987,8 @@ void ieee80211_tx_status_ext(struct ieee
|
||||||
|
/* Track when last TDLS packet was ACKed */
|
||||||
|
if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH))
|
||||||
|
sta->status_stats.last_tdls_pkt_time = jiffies;
|
||||||
|
+ } else if (test_sta_flag(sta, WLAN_STA_PS_STA)) {
|
||||||
|
+ return;
|
||||||
|
} else {
|
||||||
|
ieee80211_lost_packet(sta, info);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user