From: nbd Date: Sun, 8 Dec 2013 14:48:34 +0000 (+0000) Subject: mac80211: merge an ibss dfs locking fix X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=commitdiff_plain;h=9d5795ea8ef00a7c8f878d713630e8d863508d2f mac80211: merge an ibss dfs locking fix Signed-off-by: Felix Fietkau git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39002 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- 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);