Sfoglia il codice sorgente

mac80211: merge an ibss dfs locking fix

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 39002
Felix Fietkau 12 anni fa
parent
commit
f56030265d
1 ha cambiato i file con 15 aggiunte e 2 eliminazioni
  1. 15 2
      package/kernel/mac80211/patches/300-pending_work.patch

+ 15 - 2
package/kernel/mac80211/patches/300-pending_work.patch

@@ -6123,7 +6123,16 @@
  
  
 --- a/net/mac80211/ibss.c
 --- a/net/mac80211/ibss.c
 +++ b/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);
  					capability);
  		/* XXX: should not really modify cfg80211 data */
  		/* XXX: should not really modify cfg80211 data */
  		if (cbss) {
  		if (cbss) {
@@ -6138,7 +6147,11 @@
  
  
  	/* generate the beacon */
  	/* generate the beacon */
  	err = ieee80211_ibss_csa_beacon(sdata, NULL);
  	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_MAX_QUEUE_MAP,
  				IEEE80211_QUEUE_STOP_REASON_CSA);
  				IEEE80211_QUEUE_STOP_REASON_CSA);