aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/335-mac80211-fix-handling-of-PS-filtering-with-fast-xmit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/335-mac80211-fix-handling-of-PS-filtering-with-fast-xmit.patch')
-rw-r--r--package/kernel/mac80211/patches/335-mac80211-fix-handling-of-PS-filtering-with-fast-xmit.patch45
1 files changed, 0 insertions, 45 deletions
diff --git a/package/kernel/mac80211/patches/335-mac80211-fix-handling-of-PS-filtering-with-fast-xmit.patch b/package/kernel/mac80211/patches/335-mac80211-fix-handling-of-PS-filtering-with-fast-xmit.patch
deleted file mode 100644
index 7aef205fe1..0000000000
--- a/package/kernel/mac80211/patches/335-mac80211-fix-handling-of-PS-filtering-with-fast-xmit.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Felix Fietkau <nbd@openwrt.org>
-Date: Thu, 24 Sep 2015 14:11:40 +0200
-Subject: [PATCH] mac80211: fix handling of PS filtering with fast-xmit
-
-Fixes dropped packets in the tx path in case a non-PS station triggers
-the tx filter.
-
-Cc: stable@vger.kernel.org # 4.2
-Signed-off-by: Felix Fietkau <nbd@openwrt.org>
----
-
---- a/net/mac80211/status.c
-+++ b/net/mac80211/status.c
-@@ -101,6 +101,7 @@ static void ieee80211_handle_filtered_fr
- * when it wakes up for the next time.
- */
- set_sta_flag(sta, WLAN_STA_CLEAR_PS_FILT);
-+ ieee80211_clear_fast_xmit(sta);
-
- /*
- * This code races in the following way:
---- a/net/mac80211/tx.c
-+++ b/net/mac80211/tx.c
-@@ -1217,8 +1217,10 @@ ieee80211_tx_prepare(struct ieee80211_su
-
- if (!tx->sta)
- info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
-- else if (test_and_clear_sta_flag(tx->sta, WLAN_STA_CLEAR_PS_FILT))
-+ else if (test_and_clear_sta_flag(tx->sta, WLAN_STA_CLEAR_PS_FILT)) {
- info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
-+ ieee80211_check_fast_xmit(tx->sta);
-+ }
-
- info->flags |= IEEE80211_TX_CTL_FIRST_FRAGMENT;
-
-@@ -2450,7 +2452,8 @@ void ieee80211_check_fast_xmit(struct st
-
- if (test_sta_flag(sta, WLAN_STA_PS_STA) ||
- test_sta_flag(sta, WLAN_STA_PS_DRIVER) ||
-- test_sta_flag(sta, WLAN_STA_PS_DELIVER))
-+ test_sta_flag(sta, WLAN_STA_PS_DELIVER) ||
-+ test_sta_flag(sta, WLAN_STA_CLEAR_PS_FILT))
- goto out;
-
- if (sdata->noack_map)