aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);