linux/drivers/net/wireless/iwlwifi
Johannes Berg b8730b403a iwlwifi: dvm: fix the passive-no-RX workaround
Alex Romosan reported that since the mac80211 changes in
"mac80211: start auth/assoc timeout on frame status" and
the subsequent fixes in "mac80211: fix auth/assoc timeout
handling" (commits 1672c0e319 and 89afe614c0) there's
sometimes an issue connecting to a 5 GHz network with the
iwlwifi DVM driver.

The reason appears to be that since these commits any bad
TX status makes mac80211 immediately try again, causing
all of the authentication attempts to be quickly rejected
by the firmware as it hasn't heard a beacon yet. Before,
it would wait for the timeout regardless of status.

To fix this, invoke the passive-no-RX workaround when not
associated yet as well. This will cause the first frame
to get lost, but then the driver will stop the queues and
the second attempt will only be transmitted after hearing
a beacon, thus delaying it appropriately to not make the
firmware reject it again.

Reported-by: Alex Romosan <romosan@sycorax.lbl.gov>
Tested-by: Alex Romosan <romosan@sycorax.lbl.gov>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-03-28 16:31:26 +01:00
..
dvm iwlwifi: dvm: fix the passive-no-RX workaround 2013-03-28 16:31:26 +01:00
mvm iwlwifi: mvm: don't warn on normal BAR sending 2013-03-04 13:39:02 +01:00
pcie iwlwifi: set rfkill in internal state of the transport 2013-03-20 12:09:55 +01:00
iwl-agn-hw.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-config.h iwlwifi: add 7000 series device configuration 2013-01-30 21:41:24 +01:00
iwl-csr.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-debug.c iwlwifi: fix debug message level 2012-06-29 14:28:59 +02:00
iwl-debug.h iwlwifi: add the MVM driver 2013-02-01 11:27:15 +01:00
iwl-devtrace.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-devtrace.h iwlwifi: rename IWL_MAX_CMD_TFDS to IWL_MAX_CMD_TBS_PER_TFD 2013-02-28 11:48:51 +01:00
iwl-drv.c iwlwifi: disable 8K A-MSDU by default 2013-02-28 11:49:13 +01:00
iwl-drv.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-eeprom-parse.c iwlwifi: add NVM and PHY DB code for new MVM driver 2013-01-30 21:41:32 +01:00
iwl-eeprom-parse.h iwlwifi: add NVM and PHY DB code for new MVM driver 2013-01-30 21:41:32 +01:00
iwl-eeprom-read.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-eeprom-read.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-fh.h iwlwifi: add 7000 series device configuration 2013-01-30 21:41:24 +01:00
iwl-fw-file.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-fw.h iwlwifi: add the MVM driver 2013-02-01 11:27:15 +01:00
iwl-io.c iwlwifi: move register access lock into transport 2013-02-01 11:27:22 +01:00
iwl-io.h iwlwifi: add iwl_set_bits_mask to transport API 2013-02-01 11:27:22 +01:00
iwl-modparams.h iwlwifi: disable 8K A-MSDU by default 2013-02-28 11:49:13 +01:00
iwl-notif-wait.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-notif-wait.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-nvm-parse.c iwlwifi: add NVM and PHY DB code for new MVM driver 2013-01-30 21:41:32 +01:00
iwl-nvm-parse.h iwlwifi: add NVM and PHY DB code for new MVM driver 2013-01-30 21:41:32 +01:00
iwl-op-mode.h iwlwifi: use threaded interrupt handler 2013-02-05 14:39:12 +01:00
iwl-phy-db.c iwlwifi: mvm: Remove testing of static PIC in PhyDB 2013-02-27 09:14:08 +01:00
iwl-phy-db.h iwlwifi: add NVM and PHY DB code for new MVM driver 2013-01-30 21:41:32 +01:00
iwl-prph.h iwlwifi: add 7000 series device configuration 2013-01-30 21:41:24 +01:00
iwl-test.c iwlwifi: move register access lock into transport 2013-02-01 11:27:22 +01:00
iwl-test.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-testmode.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-trans.h iwlwifi: use coherent DMA memory for command header 2013-02-28 11:49:42 +01:00
Kconfig iwlwifi: add the MVM driver 2013-02-01 11:27:15 +01:00
Makefile iwlwifi: add the MVM driver 2013-02-01 11:27:15 +01:00