mirror of https://github.com/hak5/openwrt.git
31 lines
883 B
Diff
31 lines
883 B
Diff
--- a/net/mac80211/scan.c
|
|
+++ b/net/mac80211/scan.c
|
|
@@ -284,6 +284,7 @@ void ieee80211_scan_completed(struct iee
|
|
ieee80211_mlme_notify_scan_completed(local);
|
|
ieee80211_ibss_notify_scan_completed(local);
|
|
ieee80211_mesh_notify_scan_completed(local);
|
|
+ ieee80211_queue_work(&local->hw, &local->work_work);
|
|
}
|
|
EXPORT_SYMBOL(ieee80211_scan_completed);
|
|
|
|
--- a/net/mac80211/work.c
|
|
+++ b/net/mac80211/work.c
|
|
@@ -818,6 +818,7 @@ static void ieee80211_work_work(struct w
|
|
wk->chan == local->tmp_channel &&
|
|
wk->chan_type == local->tmp_channel_type) {
|
|
wk->started = true;
|
|
+ wk->timeout = jiffies;
|
|
}
|
|
|
|
if (!wk->started && !local->tmp_channel) {
|
|
@@ -935,6 +936,9 @@ void ieee80211_add_work(struct ieee80211
|
|
if (WARN_ON(!wk->done))
|
|
return;
|
|
|
|
+ if (WARN_ON(!ieee80211_sdata_running(wk->sdata)))
|
|
+ return;
|
|
+
|
|
wk->started = false;
|
|
|
|
local = wk->sdata->local;
|