• Johannes Berg's avatar
    iwlwifi: dvm: fix the passive-no-RX workaround · b8730b40
    Johannes Berg authored
    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 1672c0e3 and 89afe614) 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: default avatarAlex Romosan <romosan@sycorax.lbl.gov>
    Tested-by: default avatarAlex Romosan <romosan@sycorax.lbl.gov>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    b8730b40
rxon.c 44.9 KB