diff --git a/[refs] b/[refs] index da6f355bf77d..b0d94c5f64c3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cd35a3912188d006f251fff1028d84e1d1649ca2 +refs/heads/master: 18145c69349f2ab60c470798f83b3a2639e2a8d9 diff --git a/trunk/net/mac80211/main.c b/trunk/net/mac80211/main.c index 93194f61adb0..a06b6ee63c07 100644 --- a/trunk/net/mac80211/main.c +++ b/trunk/net/mac80211/main.c @@ -305,7 +305,13 @@ void ieee80211_restart_hw(struct ieee80211_hw *hw) trace_api_restart_hw(local); - /* use this reason, __ieee80211_resume will unblock it */ + WARN(test_bit(SCAN_HW_SCANNING, &local->scanning), + "%s called with hardware scan in progress\n", __func__); + + if (unlikely(test_bit(SCAN_SW_SCANNING, &local->scanning))) + ieee80211_scan_cancel(local); + + /* use this reason, ieee80211_reconfig will unblock it */ ieee80211_stop_queues_by_reason(hw, IEEE80211_QUEUE_STOP_REASON_SUSPEND);