aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/status.c
diff options
context:
space:
mode:
authorVivek Natarajan <vnatarajan@atheros.com>2011-02-23 13:04:32 +0530
committerJohn W. Linville <linville@tuxdriver.com>2011-02-23 16:25:29 -0500
commitf3e85b9edeaf8ad0446a37a40c873f3f8898c57d (patch)
tree298ae716ab7215423a4bc1192783c475be769838 /net/mac80211/status.c
parentb43: N-PHY: rev1: restore PHY state after RSSI operations (diff)
downloadlinux-dev-f3e85b9edeaf8ad0446a37a40c873f3f8898c57d.tar.xz
linux-dev-f3e85b9edeaf8ad0446a37a40c873f3f8898c57d.zip
mac80211: Fix a race on enabling power save.
There is a race on sending a data frame before the tx completion of nullfunc frame for enabling power save. As the data quickly follows the nullfunc frame, the AP thinks that the station is out of power save and continues to send the frames. Whereas in the station, the nullfunc ack will be processed after the tx completion of data frame and mac80211 goes to powersave. Thus the power save state mismatch between the station and the AP causes some data loss and some applications fail because of that. This patch fixes this issue. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/status.c')
-rw-r--r--net/mac80211/status.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c
index 010a559bd872..865185127f51 100644
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
@@ -318,8 +318,6 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
if (info->flags & IEEE80211_TX_STAT_ACK) {
local->ps_sdata->u.mgd.flags |=
IEEE80211_STA_NULLFUNC_ACKED;
- ieee80211_queue_work(&local->hw,
- &local->dynamic_ps_enable_work);
} else
mod_timer(&local->dynamic_ps_timer, jiffies +
msecs_to_jiffies(10));