mac80211: use ps-poll when dynamic power save mode is disabled
commit572e00122190e3064fa19bd9780b146d2d0f1905
authorKalle Valo <kalle.valo@nokia.com>
Tue, 10 Feb 2009 15:09:31 +0000 (10 17:09 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 13 Feb 2009 18:45:17 +0000 (13 13:45 -0500)
treeae8423958dd012af1dca83718b3035f2e75c53ec
parent1fb3606bc5864c64c78ce4e1751e5382a9a5aa84
mac80211: use ps-poll when dynamic power save mode is disabled

When a directed tim bit is set, mac80211 currently disables power save
ands sends a null frame to the AP. But if dynamic power save is
disabled, mac80211 will not enable power save ever gain. Fix this by
adding ps-poll functionality to mac80211. When a directed tim bit is
set, mac80211 sends a ps-poll frame to the AP and checks for the more
data bit in the returned data frames.

Using ps-poll is slower than waking up with null frame, but it's saves more
power in cases where the traffic is low. Userspace can control if either
ps-poll or null wakeup method is used by enabling and disabling dynamic
power save.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/ieee80211_i.h
net/mac80211/mlme.c
net/mac80211/rx.c