• Johannes Berg's avatar
    mac80211: fix probe response processing · 16cf438a
    Johannes Berg authored
    Due to the use of a _REQ_DIRECT_PROBE bit, which is
    unnecessary (and I wonder why it was done that way),
    an interesting situation can arise:
     1) we try to probe an access point
     2) the AP doesn't response in time
     3) we tell userspace that we gave up
     4) the AP suddenly responds
     5) we auth/assoc with the AP
    
    I've seen 4) happen in testing with hostapd SIGSTOPped,
    and when SIGCONTinued it processes the probe requests
    that came in and send responses. But 5) is not supposed
    to happen after we tell everybody we've given up on the
    AP.
    
    To fix this, remove the _REQ_DIRECT_PROBE request bit,
    and process probe responses when we're in the relevant
    MLME state, namely IEEE80211_STA_MLME_DIRECT_PROBE.
    Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    16cf438a
mlme.c 65.2 KB