aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/300-pending_work.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-12-08 14:48:34 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-12-08 14:48:34 +0000
commitf56030265d15a34e065531cfeef28b52549c812f (patch)
tree199a87941ee8740c915f865e7068d4ecef7be3c8 /package/kernel/mac80211/patches/300-pending_work.patch
parent7a260c3620ec4c89c39c5eb396d64c114d3c3243 (diff)
downloadupstream-f56030265d15a34e065531cfeef28b52549c812f.tar.gz
upstream-f56030265d15a34e065531cfeef28b52549c812f.tar.bz2
upstream-f56030265d15a34e065531cfeef28b52549c812f.zip
mac80211: merge an ibss dfs locking fix
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 39002
Diffstat (limited to 'package/kernel/mac80211/patches/300-pending_work.patch')
-rw-r--r--package/kernel/mac80211/patches/300-pending_work.patch17
1 files changed, 15 insertions, 2 deletions
diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch
index 89a655c34c..58ae04e5df 100644
--- a/package/kernel/mac80211/patches/300-pending_work.patch
+++ b/package/kernel/mac80211/patches/300-pending_work.patch
@@ -6123,7 +6123,16 @@
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
-@@ -550,12 +550,12 @@ int ieee80211_ibss_finish_csa(struct iee
+@@ -534,7 +534,7 @@ int ieee80211_ibss_finish_csa(struct iee
+ int err;
+ u16 capability;
+
+- sdata_lock(sdata);
++ sdata_assert_lock(sdata);
+ /* update cfg80211 bss information with the new channel */
+ if (!is_zero_ether_addr(ifibss->bssid)) {
+ capability = WLAN_CAPABILITY_IBSS;
+@@ -550,16 +550,15 @@ int ieee80211_ibss_finish_csa(struct iee
capability);
/* XXX: should not really modify cfg80211 data */
if (cbss) {
@@ -6138,7 +6147,11 @@
/* generate the beacon */
err = ieee80211_ibss_csa_beacon(sdata, NULL);
-@@ -922,7 +922,7 @@ ieee80211_ibss_process_chanswitch(struct
+- sdata_unlock(sdata);
+ if (err < 0)
+ return err;
+
+@@ -922,7 +921,7 @@ ieee80211_ibss_process_chanswitch(struct
IEEE80211_MAX_QUEUE_MAP,
IEEE80211_QUEUE_STOP_REASON_CSA);