summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/310-mac80211_sw_scan_fix.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-07 14:27:54 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-07 14:27:54 +0000
commit4f3f9fa20381cbbda05497a1c0f94c1eecebfb3b (patch)
treed28369843e071c301a4dc0ebcd70452a1316402f /package/mac80211/patches/310-mac80211_sw_scan_fix.patch
parent8631d395e17adfd4c61ef1bf856cbf6a1cb7c307 (diff)
mac80211: update to wireless-testing 2010-10-06
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23294 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/310-mac80211_sw_scan_fix.patch')
-rw-r--r--package/mac80211/patches/310-mac80211_sw_scan_fix.patch33
1 files changed, 33 insertions, 0 deletions
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 0000000000..0375780da0
--- /dev/null
+++ b/package/mac80211/patches/310-mac80211_sw_scan_fix.patch
@@ -0,0 +1,33 @@
+From: Johannes Berg <johannes.berg@intel.com>
+
+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 <greearb@candelatech.com>
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+---
+ 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: