linux/drivers/net/wireless/iwlwifi/dvm
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
..
Makefile
agn.h mac80211: stop toggling IEEE80211_HT_CAP_SUP_WIDTH_20_40 2013-02-15 09:41:30 +01:00
calib.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
calib.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
commands.h iwlwifi: dvm: improve (again) the prints in reclaim path 2013-02-18 20:19:25 +01:00
debugfs.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
dev.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
devices.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
led.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
led.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
lib.c iwlwifi: dvm: don't send HCMD in restart flow 2013-03-20 12:10:57 +01:00
mac80211.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next 2013-02-12 12:51:08 -05:00
main.c iwlwifi: move register access lock into transport 2013-02-01 11:27:22 +01:00
power.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
power.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
rs.c mac80211: stop modifying HT SMPS capability 2013-02-15 09:41:41 +01:00
rs.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
rx.c iwlwifi: use threaded interrupt handler 2013-02-05 14:39:12 +01:00
rxon.c iwlwifi: dvm: fix the passive-no-RX workaround 2013-03-28 16:31:26 +01:00
scan.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
sta.c iwlwifi: use coherent DMA memory for command header 2013-02-28 11:49:42 +01:00
testmode.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
tt.c iwlwifi: dvm: fix delayed enter to CT-kill bug 2013-02-18 20:19:01 +01:00
tt.h iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
tx.c iwlwifi: dvm: fix the passive-no-RX workaround 2013-03-28 16:31:26 +01:00
ucode.c iwlwifi: dvm: don't send HCMD in restart flow 2013-03-20 12:10:57 +01:00