iwlwifi: use ieee80211_tx_status
authorJohannes Berg <johannes.berg@intel.com>
Mon, 5 Mar 2012 19:24:37 +0000 (11:24 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 6 Mar 2012 20:16:12 +0000 (15:16 -0500)
commit2c6ab7ff8fa9af22a2a616656da6e5a0567da285
tree17efee9f66384e3fd718f015cd9f5c7c91e12f11
parent15b86bff995525a38126eb44a951765a57ea2f4c
iwlwifi: use ieee80211_tx_status

We currently use the _irqsafe version, but that
isn't recommended together with ieee80211_rx()
as it can cause races. If the device reports
a TX-status and RX in that order then with the
current combination mac80211 might process them
in the other order, which can cause issues with
powersaving clients.

Use ieee80211_tx_status() to avoid this race.
Since we don't want to call it with locks held,
process the frame queues later -- this is fine
as they are on the stack.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-agn-tx.c