summaryrefslogtreecommitdiffstats
path: root/net/mac80211/rx.c
diff options
context:
space:
mode:
authorJohn W. Linville2014-03-04 19:05:12 +0100
committerJohn W. Linville2014-03-04 19:05:12 +0100
commitf3b6a488a670f1be2666ab97e31dcfc0b1648884 (patch)
treed8d2431f21d4371c907dec075926e86840e86d1e /net/mac80211/rx.c
parentwil6210: fix smatch warning in wil_cfg80211_get_station() (diff)
parentmwifiex: do not advertise usb autosuspend support (diff)
downloadkernel-qcow2-linux-f3b6a488a670f1be2666ab97e31dcfc0b1648884.tar.gz
kernel-qcow2-linux-f3b6a488a670f1be2666ab97e31dcfc0b1648884.tar.xz
kernel-qcow2-linux-f3b6a488a670f1be2666ab97e31dcfc0b1648884.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Conflicts: drivers/net/wireless/ath/ath9k/recv.c drivers/net/wireless/mwifiex/pcie.c
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r--net/mac80211/rx.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 58e4b7052d17..5b617660b0ba 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1092,6 +1092,13 @@ static void sta_ps_end(struct sta_info *sta)
sta->sta.addr, sta->sta.aid);
if (test_sta_flag(sta, WLAN_STA_PS_DRIVER)) {
+ /*
+ * Clear the flag only if the other one is still set
+ * so that the TX path won't start TX'ing new frames
+ * directly ... In the case that the driver flag isn't
+ * set ieee80211_sta_ps_deliver_wakeup() will clear it.
+ */
+ clear_sta_flag(sta, WLAN_STA_PS_STA);
ps_dbg(sta->sdata, "STA %pM aid %d driver-ps-blocked\n",
sta->sta.addr, sta->sta.aid);
return;