diff options
author | Felix Fietkau <nbd@nbd.name> | 2018-11-13 14:32:13 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2018-12-05 06:29:14 -0500 |
commit | a317e65face482371de30246b6494feb093ff7f9 (patch) | |
tree | 2c327794122b8e6fa0b4de1b487dcb0131b54008 /net | |
parent | 113f3aaa81bd56aba02659786ed65cbd9cb9a6fc (diff) |
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>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/status.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c index aa4afbf0abaf..a794ca729000 100644 --- a/net/mac80211/status.c +++ b/net/mac80211/status.c | |||
@@ -964,6 +964,8 @@ void ieee80211_tx_status_ext(struct ieee80211_hw *hw, | |||
964 | /* Track when last TDLS packet was ACKed */ | 964 | /* Track when last TDLS packet was ACKed */ |
965 | if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) | 965 | if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) |
966 | sta->status_stats.last_tdls_pkt_time = jiffies; | 966 | sta->status_stats.last_tdls_pkt_time = jiffies; |
967 | } else if (test_sta_flag(sta, WLAN_STA_PS_STA)) { | ||
968 | return; | ||
967 | } else { | 969 | } else { |
968 | ieee80211_lost_packet(sta, info); | 970 | ieee80211_lost_packet(sta, info); |
969 | } | 971 | } |