• Johannes Berg's avatar
    mac80211: fix managed mode channel flags handling · 028e8da0
    Johannes Berg authored
    If ieee80211_prep_channel() decides that HT should be
    disabled (because the HT IEs from the AP were invalid)
    it will set the IEEE80211_STA_DISABLE_HT to not send
    HT capabilities to the AP when associating. If this
    happens during authentication, the flag will be lost
    and we send HT frames, even if the channel config was
    set up for non-HT. This can lead to issues.
    Fix this by always resetting the ifmgd flags to zero
    when the channel context is released so that the flag
    resetting in ieee80211_mgd_assoc() isn't necessary.
    To make the code a bit easier move the call to release
    the channel in ieee80211_set_disassoc() to the end of
    the function together with the flag resetting (which
    needs to be at the end to avoid timers setting flags.)
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>