X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=package%2Fmac80211%2Fpatches%2F530-mac80211_work_fix.patch;fp=package%2Fmac80211%2Fpatches%2F530-mac80211_work_fix.patch;h=339a52d51d2cdab6bb0444acc26b561db5edb5ef;hb=5c8a4212a704139521c9ab8cc9cd7e52fc645ed6;hp=0000000000000000000000000000000000000000;hpb=0b686a0ab95aca103224dcbed2e48e6722f07452;p=openwrt-10.03%2F.git diff --git a/package/mac80211/patches/530-mac80211_work_fix.patch b/package/mac80211/patches/530-mac80211_work_fix.patch new file mode 100644 index 000000000..339a52d51 --- /dev/null +++ b/package/mac80211/patches/530-mac80211_work_fix.patch @@ -0,0 +1,30 @@ +--- 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;