iwlwifi: handle race condition in ROC flow
authorIlan Peer <ilan.peer@intel.com>
Wed, 9 May 2012 13:11:55 +0000 (16:11 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 6 Jun 2012 11:03:54 +0000 (13:03 +0200)
commit622a9268231bd6b486ec058a28f773fa89926012
tree57c0eda48dfa100c44611ba7a88998009b7adfb4
parente19ebcab01cc130fa832764d453b263460ec3b91
iwlwifi: handle race condition in ROC flow

When a remain on channel request from mac80211 is followed by
a request to tx a mgmt frame offchannel, it is possible that
the remain on channel expires before the device reported the
tx status for the frame. This causes a race condition in
mac80211.

To fix this, delay the ROC notification to mac80211 until the
device reported the Tx status for all frames in the aux queue.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/iwlwifi/iwl-agn-tx.c
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-agn.h
drivers/net/wireless/iwlwifi/iwl-dev.h
drivers/net/wireless/iwlwifi/iwl-scan.c