mac80211: Fix a race on enabling power save.
authorVivek Natarajan <vnatarajan@atheros.com>
Wed, 23 Feb 2011 07:34:32 +0000 (13:04 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 23 Feb 2011 21:25:29 +0000 (16:25 -0500)
commitf3e85b9edeaf8ad0446a37a40c873f3f8898c57d
tree298ae716ab7215423a4bc1192783c475be769838
parent05db8c5729fac2788f45bf327d168f2ea397f6a1
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>
net/mac80211/mlme.c
net/mac80211/status.c