From 4f3f9fa20381cbbda05497a1c0f94c1eecebfb3b Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 7 Oct 2010 14:27:54 +0000 Subject: mac80211: update to wireless-testing 2010-10-06 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23294 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches/310-mac80211_sw_scan_fix.patch | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 package/mac80211/patches/310-mac80211_sw_scan_fix.patch (limited to 'package/mac80211/patches/310-mac80211_sw_scan_fix.patch') diff --git a/package/mac80211/patches/310-mac80211_sw_scan_fix.patch b/package/mac80211/patches/310-mac80211_sw_scan_fix.patch new file mode 100644 index 000000000..0375780da --- /dev/null +++ b/package/mac80211/patches/310-mac80211_sw_scan_fix.patch @@ -0,0 +1,33 @@ +From: Johannes Berg + +The recent scan overhaul broke locking +because now we can jump to code that +attempts to unlock, while we don't have +the mutex held. Fix this by holding the +mutex around all the relevant code. + +Reported-by: Ben Greear +Signed-off-by: Johannes Berg +--- + net/mac80211/scan.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/net/mac80211/scan.c ++++ b/net/mac80211/scan.c +@@ -686,8 +686,6 @@ void ieee80211_scan_work(struct work_str + goto out_complete; + } + +- mutex_unlock(&local->mtx); +- + /* + * as long as no delay is required advance immediately + * without scheduling a new work +@@ -718,6 +716,7 @@ void ieee80211_scan_work(struct work_str + } while (next_delay == 0); + + ieee80211_queue_delayed_work(&local->hw, &local->scan_work, next_delay); ++ mutex_unlock(&local->mtx); + return; + + out_complete: -- cgit v1.2.3