]> git.baikalelectronics.ru Git - kernel.git/commit
iwlwifi: dvm: fix the passive-no-RX workaround
authorJohannes Berg <johannes.berg@intel.com>
Wed, 27 Mar 2013 19:49:58 +0000 (20:49 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 28 Mar 2013 15:31:26 +0000 (16:31 +0100)
commit03c8c84847e81419cbab05372a52f80f91094d43
tree8841054b3290a4054843eeaff9d8c216c42a1f8d
parentf6e301462f5cec395fa02f83da7c1fc3b192e1a2
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 2e90d8fb2459 and 86337c044a2) 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>
drivers/net/wireless/iwlwifi/dvm/rxon.c
drivers/net/wireless/iwlwifi/dvm/tx.c