mac80211: fix PS-poll response, race
authorJohannes Berg <johannes@sipsolutions.net>
Fri, 24 Jul 2009 11:23:09 +0000 (13:23 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 27 Jul 2009 19:24:19 +0000 (15:24 -0400)
commit3fa52056f3a8e755708241d5795e6d3e6f55ad85
tree17986e56e775dc55627e4ba9aa0639182ee34339
parent91a3bd76155085d41520cf41ede39e8b7f01aeff
mac80211: fix PS-poll response, race

When a station queries us for a PS-poll response, we wrongly
queue the frame on the virtual interface's queue rather than
the pending queue.

Additionally, fix a race condition where we could potentially
send multiple frames to the sleeping station due to using a
station flag rather than a packet flag. When converting to a
packet flag, we can also convert p54 and remove the filter
clearing we added for it.

(Also remove a now dead function)

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reported-by: Bob Copeland <me@bobcopeland.com>
Tested-by: Bob Copeland <me@bobcopeland.com>
Cc: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/p54/txrx.c
include/net/mac80211.h
net/mac80211/rx.c
net/mac80211/sta_info.h
net/mac80211/tx.c