iwlagn: fix radar frame rejection
authorGaren Tamrazian <garenx.tamrazian@intel.com>
Wed, 30 Mar 2011 09:29:32 +0000 (02:29 -0700)
committerWey-Yi Guy <wey-yi.w.guy@intel.com>
Fri, 8 Apr 2011 14:59:37 +0000 (07:59 -0700)
commit68b993118f715cc631b62b6a50574e4701fe9ace
tree4f4a138506a2903f6ecd406b4afc0990d34aa7b8
parent3ecccbcd3c67374aeee447c08fcb9e39a99f7ee5
iwlagn: fix radar frame rejection

The microcode may sometimes reject TX frames when
on a radar channel even after we associated as it
clears information during association and needs to
receive a new beacon before allowing that channel
again. This manifests itself as a TX status value
of TX_STATUS_FAIL_PASSIVE_NO_RX. So in this case,
stop the corresponding queue and give the frame
back to mac80211 for retransmission. We start the
queue again when a beacon from the AP is received
which will make the regulatory enforcement in the
device allow transmitting again.

Signed-off-by: Garen Tamrazian <garenx.tamrazian@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
drivers/net/wireless/iwlwifi/iwl-agn-lib.c
drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
drivers/net/wireless/iwlwifi/iwl-agn.h
drivers/net/wireless/iwlwifi/iwl-dev.h
drivers/net/wireless/iwlwifi/iwl-helpers.h
drivers/net/wireless/iwlwifi/iwl-rx.c