• Reinette Chatre's avatar
    iwlwifi: fix scan race · bbcbb9ef
    Reinette Chatre authored
    There is a problem if an "internal short scan" is in progress when a
    mac80211 requested scan arrives. If this new scan request arrives within
    the "next_scan_jiffies" period then driver will immediately return success
    and complete the scan. The problem here is that the scan has not been
    fully initialized at this time (is_internal_short_scan is still set to true
    because of the currently running scan), which results in the scan
    completion never to be sent to mac80211. At this time also, evan though the
    internal short scan is still running the state (is_internal_short_scan)
    will be set to false, so when the internal scan does complete then mac80211
    will receive a scan completion.
    
    Fix this by checking right away if a scan is in progress when a scan
    request arrives from mac80211.
    Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
    bbcbb9ef
iwl-scan.c 27.9 KB