ath9k: Move roc completion to the offchannel timer
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Sun, 16 Nov 2014 00:41:10 +0000 (06:11 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 17 Nov 2014 20:32:17 +0000 (15:32 -0500)
commit47b6308b643302e642ca2a5cb6470926f7e1c428
treece19c92ba18f1b0daa1845e7b9e8d59840dadd3f
parentd9092c9873739429c9e97c4bc21ead9af2fb6aa1
ath9k: Move roc completion to the offchannel timer

Currently, when a roc period expires, the offchannel
timer calls ieee80211_remain_on_channel_expired(), but
the roc state is cleared only when the queued work
to switch to the operating channel gets a chance to run.

This race is a problem because mac80211 can issue a
new roc request in this window. To avoid this, handle
roc completion in the offchannel timer itself.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/channel.c