mac80211: Reset dynamic ps timer in Rx path.
commit8900170d176e29c905d959e515b502debc58219c
authorVivek Natarajan <vnatarajan@atheros.com>
Thu, 11 Mar 2010 22:54:34 +0000 (11 14:54 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 1 Apr 2010 22:58:52 +0000 (1 15:58 -0700)
tree00e688c017bc406accd856f4c49798141f79dd61
parent948dc19cef84be418aadc6b3ade94207c0888937
mac80211: Reset dynamic ps timer in Rx path.

commit e15276a4b220c54db665cf46a92bd9ceb9aeb052 upstream.

The current mac80211 implementation enables power save if there
is no Tx traffic for a specific timeout. Hence, PS is triggered
even if there is a continuous Rx only traffic(like UDP) going on.
This makes the drivers to wait on the tim bit in the next beacon
to awake which leads to redundant sleep-wake cycles.
Fix this by restarting the dynamic ps timer on receiving every
data packet.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/mac80211/rx.c