• Emmanuel Grumbach's avatar
    mac80211: correctly close cancelled scans · a754055a
    Emmanuel Grumbach authored
    __ieee80211_scan_completed is called from a worker. This
    means that the following flow is possible.
    
     * driver calls ieee80211_scan_completed
     * mac80211 cancels the scan (that is already complete)
     * __ieee80211_scan_completed runs
    
    When scan_work will finally run, it will see that the scan
    hasn't been aborted and might even trigger another scan on
    another band. This leads to a situation where cfg80211's
    scan is not done and no further scan can be issued.
    
    Fix this by setting a new flag when a HW scan is being
    cancelled so that no other scan will be triggered.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    a754055a
scan.c 28.5 KB