summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2018-11-13 20:32:13 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-12-13 09:21:37 +0100
commit00512a2e8e64d20f49b6f1b0e2d0cbf49cdb3039 (patch)
tree1672d4cea469c44717c2bb9f64f3295726fd7237
parenta315f7154d7a3b07f1ae2faa1509069287854c69 (diff)
mac80211: ignore tx status for PS stations in ieee80211_tx_status_ext
commit a317e65face482371de30246b6494feb093ff7f9 upstream. 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> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/mac80211/status.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c
index 2731cf5bf052..d221300e59e5 100644
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
@@ -648,6 +648,8 @@ void ieee80211_tx_status_noskb(struct ieee80211_hw *hw,
/* 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);
}