rpms/kernel/devel linux-2.6-mac80211-rtnl-deadlock.patch, NONE, 1.1 kernel.spec, 1.12, 1.13

John W. Linville (linville) fedora-extras-commits at redhat.com
Wed Jul 18 18:50:15 UTC 2007


Author: linville

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9153

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-mac80211-rtnl-deadlock.patch 
Log Message:
avoid mac80211 deadlocks on device shutdown

linux-2.6-mac80211-rtnl-deadlock.patch:

--- NEW FILE linux-2.6-mac80211-rtnl-deadlock.patch ---
--- linux-2.6.22.noarch/net/mac80211/ieee80211_sta.c.orig	2007-07-18 14:15:23.000000000 -0400
+++ linux-2.6.22.noarch/net/mac80211/ieee80211_sta.c	2007-07-18 14:30:16.000000000 -0400
@@ -25,7 +25,6 @@
 #include <linux/wireless.h>
 #include <linux/random.h>
 #include <linux/etherdevice.h>
-#include <linux/rtnetlink.h>
 #include <net/iw_handler.h>
 #include <asm/types.h>
 
@@ -3048,12 +3047,9 @@ static int ieee80211_sta_config_auth(str
 	struct ieee80211_sta_bss *bss, *selected = NULL;
 	int top_rssi = 0, freq;
 
-	rtnl_lock();
-
 	if (!ifsta->auto_channel_sel && !ifsta->auto_bssid_sel &&
 	    !ifsta->auto_ssid_sel) {
 		ifsta->state = IEEE80211_AUTHENTICATE;
-		rtnl_unlock();
 		ieee80211_sta_reset_auth(dev, ifsta);
 		return 0;
 	}
@@ -3096,7 +3092,6 @@ static int ieee80211_sta_config_auth(str
 		ieee80211_sta_set_bssid(dev, selected->bssid);
 		ieee80211_rx_bss_put(dev, selected);
 		ifsta->state = IEEE80211_AUTHENTICATE;
-		rtnl_unlock();
 		ieee80211_sta_reset_auth(dev, ifsta);
 		return 0;
 	} else {
@@ -3107,7 +3102,6 @@ static int ieee80211_sta_config_auth(str
 		} else
 			ifsta->state = IEEE80211_DISABLED;
 	}
-	rtnl_unlock();
 	return -1;
 }
 


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- kernel.spec	16 Jul 2007 20:32:22 -0000	1.12
+++ kernel.spec	18 Jul 2007 18:49:41 -0000	1.13
@@ -583,6 +583,7 @@
 Patch671: linux-2.6-libata-sb700-sata-ids.patch
 Patch680: git-wireless-dev.patch
 Patch681: git-iwlwifi.patch
+Patch682: linux-2.6-mac80211-rtnl-deadlock.patch
 Patch690: linux-2.6-e1000-ich9.patch
 Patch710: linux-2.6-bcm43xx-pci-neuter.patch
 #Patch780: linux-2.6-clockevents-fix-resume-logic.patch
@@ -1211,6 +1212,8 @@
 ApplyPatch git-wireless-dev.patch
 # Add iwlwifi from intellinuxwireless.org
 ApplyPatch git-iwlwifi.patch
+# Remove excessive(?) rtnl locking in ieee80211_sta_config_auth
+ApplyPatch linux-2.6-mac80211-rtnl-deadlock.patch
 # add patch from markmc so that e1000 supports ICH9
 ApplyPatch linux-2.6-e1000-ich9.patch
 # avoid bcm3xx vs bcm43xx-mac80211 PCI ID conflicts
@@ -2159,6 +2162,9 @@
 %endif
 
 %changelog
+* Wed Jul 18 2007 John W. Linville <linville at redhat.com>
+- mac80211: avoid deadlock during device shutdown
+
 * Mon Jul 16 2007 John W. Linville <linville at redhat.com>
 - Update git-wireless-dev.patch
 




More information about the scm-commits mailing list