mac80211: Fix incorrect num_sta_ps decrement in ap_sta_ps_end
authorHelmut Schaa <helmut.schaa@googlemail.com>
Mon, 30 Jan 2012 14:18:00 +0000 (15:18 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 30 Jan 2012 20:48:20 +0000 (15:48 -0500)
commit608383bfc04aa222c3e9e896c32f56a5e5deaff0
treecb608bbe456f3aaa030f90977f6f9e60f6b2a413
parent2ab694d302b489c5aa49c360dc97149b77c96586
mac80211: Fix incorrect num_sta_ps decrement in ap_sta_ps_end

If the driver blocked this specific STA with the help of
ieee80211_sta_block_awake we won't clear WLAN_STA_PS_STA later but
still decrement num_sta_ps. Hence, the next data frame from this
STA will trigger ap_sta_ps_end again and also decrement num_sta_ps
again leading to an incorrect num_sta_ps counter.

This can result in problems with powersaving clients not waking up
from PS because the TIM calculation might be skipped due to the
incorrect num_sta_ps counter.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/rx.c
net/mac80211/sta_info.c