mac80211: Check for queued frames before entering power save.
authorVivek Natarajan <vnatarajan@atheros.com>
Wed, 6 Apr 2011 06:11:10 +0000 (11:41 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 12 Apr 2011 20:57:34 +0000 (16:57 -0400)
commite8306f989483e4b97a8b37dd268de6c8c6f35e75
tree452bb50b9e7dbfc9a6fa68f8da388a17c2f76875
parent6fc3ba999994b675c4e6af77ac4e1a6bfd8e6128
mac80211: Check for queued frames before entering power save.

In a highly noisy environment, the tx rate of the driver drops and
the application slows down since it has not yet received ACKs for
the frames already queued in the hardware. Since this ACK may take
more than 100ms, stopping the dev queues for entering PS at this
stage breaks applications, WMM test cases in my testing.
If there are frames already pending in the tx queue, postponing the
PS logic helps to avoid redundant queue stops. When power save is
enabled by default and in a noisy environment, this API certainly
helps in improving the average throughput.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
include/net/mac80211.h
net/mac80211/driver-ops.h
net/mac80211/driver-trace.h
net/mac80211/mlme.c