• Johannes Berg's avatar
    mac80211: fix another suspend vs. association race · be72afe0
    Johannes Berg authored
    
    
    Since cfg80211 disconnects, but has no insight into the association
    process, it can happen that it disconnects while association is in
    progress. We then try to abort association in mac80211, but this is
    only later so the association can complete between the two.
    
    This results in removing an interface from the driver while bound
    to the channel context, obviously causing confusion and issues.
    
    Solve this by also checking if we're associated during quiesce and
    if so deauthenticating. The frame will no longer go out to the AP
    which is a bit unfortunate, but it'll resolve the crash (and before
    we would have suspended without telling the AP as well.)
    
    I'm working on a better, but more complex solution as well, which
    should avoid that problem.
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    be72afe0
mlme.c 142 KB