mac80211: handle potential race between suspend and scan completion
authorLuciano Coelho <luciano.coelho@intel.com>
Sat, 24 Jan 2015 08:30:02 +0000 (10:30 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 27 Jan 2015 08:58:46 +0000 (09:58 +0100)
commit9120d94e8f9abd3eb9f00a5aaa6eca85cdf4f439
treeb141172aa32ce2fa5f9a531efae302f5c04ac112
parent225b818982403120ce1f5e7d4b3e5245e0399775
mac80211: handle potential race between suspend and scan completion

If suspend starts while ieee80211_scan_completed() is running, between
the point where SCAN_COMPLETED is set and the work is queued,
ieee80211_scan_cancel() will not catch the work and we may finish
suspending before the work is actually executed, leaving the scan
running while suspended.

To fix this race, queue the scan work during resume if the
SCAN_COMPLETED flag is set and flush it immediately.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ieee80211_i.h
net/mac80211/util.c