• Johannes Berg's avatar
    mac80211: make deauth/disassoc sequence more natural · 37ad3888
    Johannes Berg authored
    The association sequence looks (roughly) like
    this now:
     * set BSSID
     * set station to EXIST state
     * send auth
     * set station to AUTH state
     * send assoc
     * set station to ASSOC state
     * set BSS info to associated
    
    In contrast, the deauth/disassoc sequence is
    the other way around:
     * clear BSSID/BSS info state
     * remove station
     * send deauth/disassoc
    (in some cases the last two steps are reversed.)
    
    This patch encodes the entire sequence in the
    ieee80211_set_disassoc() function and changes
    it to be like this, for good measure with an
    explicit flush:
     * send deauth/disassoc
     * flush
     * remove station
     * clear BSSID/BSS info state
    
    At least iwlwifi gets confused with the other
    sequence in P2P mode and complains that it
    wasn't able to flush the queues.
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    37ad3888
mlme.c 98.6 KB