rpms/kernel/devel linux-2.6-softmac-deadlock.patch, NONE, 1.1 kernel.spec, 1.39, 1.40 linux-2.6-bcm43xx-revert-breakage.patch, 1.1, 1.2

David Woodhouse (dwmw2) fedora-extras-commits at redhat.com
Tue Jul 31 13:09:20 UTC 2007


Author: dwmw2

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

Modified Files:
	kernel.spec linux-2.6-bcm43xx-revert-breakage.patch 
Added Files:
	linux-2.6-softmac-deadlock.patch 
Log Message:
more bcm43xx fixes

linux-2.6-softmac-deadlock.patch:

--- NEW FILE linux-2.6-softmac-deadlock.patch ---
>From mb at bu3sch.de Tue Jul 31 13:58:04 2007
Return-path: <mb at bu3sch.de>
Envelope-to: dwmw2 at baythorne.infradead.org
Delivery-date: Tue, 31 Jul 2007 13:58:04 +0100
Received: from [2001:4bd0:203e::1] (helo=pentafluge.infradead.org) by
	baythorne.infradead.org with esmtps (Exim 4.63 #1 (Red Hat Linux)) id
	1IFrIa-0004Cs-DX for dwmw2 at baythorne.infradead.org; Tue, 31 Jul 2007
	13:58:04 +0100
Received: from static-ip-62-75-166-246.inaddr.intergenia.de
	([62.75.166.246] helo=vs166246.vserver.de) by pentafluge.infradead.org with
	esmtps (Exim 4.63 #1 (Red Hat Linux)) id 1IFrIY-0003S8-NL for
	dwmw2 at infradead.org; Tue, 31 Jul 2007 13:58:03 +0100
Received: from t1590.t.pppool.de ([89.55.21.144] helo=powermac.local) by
	vs166246.vserver.de with esmtpa (Exim 4.50) id 1IFrIU-0008UN-NY; Tue, 31
	Jul 2007 14:57:58 +0200
From: Michael Buesch <mb at bu3sch.de>
To: David Woodhouse <dwmw2 at infradead.org>
Subject: [PATCH] softmac: Fix deadlock of wx_set_essid with assoc work
Date: Tue, 31 Jul 2007 14:57:33 +0200
User-Agent: KMail/1.9.6
Cc: linux-wireless at vger.kernel.org, John Linville <linville at tuxdriver.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
Message-Id: <200707311457.33723.mb at bu3sch.de>
X-Spam-Score: 0.0 (/)
X-Evolution-Source: imap://dwmw2@pentafluge.infradead.org/
Content-Transfer-Encoding: 8bit

The essid wireless extension does deadlock against the assoc mutex,
as we don't unlock the assoc mutex.

Signed-off-by: Michael Buesch <mb at bu3sch.de>

--

David, please test if this fixes your deadlock.

Index: bu3sch-wireless-dev/net/ieee80211/softmac/ieee80211softmac_wx.c
===================================================================
--- bu3sch-wireless-dev.orig/net/ieee80211/softmac/ieee80211softmac_wx.c	2007-03-05 18:42:18.000000000 +0100
+++ bu3sch-wireless-dev/net/ieee80211/softmac/ieee80211softmac_wx.c	2007-07-31 14:51:46.000000000 +0200
@@ -98,9 +98,12 @@ ieee80211softmac_wx_set_essid(struct net
 				cancel_delayed_work(&authptr->work);
 			sm->associnfo.bssvalid = 0;
 			sm->associnfo.bssfixed = 0;
-			flush_scheduled_work();
 			sm->associnfo.associating = 0;
 			sm->associnfo.associated = 0;
+			/* Unlock mutex, otherwise we deadlock with the assoc work handler. */
+			mutex_unlock(&sm->associnfo.mutex);
+			flush_scheduled_work();
+			mutex_lock(&sm->associnfo.mutex);
 		}
 	}
 

-- 
Greetings Michael.


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- kernel.spec	31 Jul 2007 11:35:07 -0000	1.39
+++ kernel.spec	31 Jul 2007 13:08:48 -0000	1.40
@@ -585,6 +585,7 @@
 Patch690: linux-2.6-e1000-ich9.patch
 Patch700: linux-2.6-bcm43xx-pci-neuter.patch
 Patch701: linux-2.6-bcm43xx-revert-breakage.patch
+Patch702: linux-2.6-softmac-deadlock.patch
 Patch710: linux-2.6-iwlwifi-fw-name-compat.patch
 #Patch780: linux-2.6-clockevents-fix-resume-logic.patch
 Patch780: linux-2.6-highres-timers.patch
@@ -1210,6 +1211,8 @@
 ApplyPatch linux-2.6-bcm43xx-pci-neuter.patch
 # commit 77548f58070894cf5970a110981e511ffe793369 broke transmission on some devices
 ApplyPatch linux-2.6-bcm43xx-revert-breakage.patch
+# Fix deadlock in ieee80211 softmac
+ApplyPatch linux-2.6-softmac-deadlock.patch
 # temp compat patch for iwlwifi firmware filenames
 ApplyPatch linux-2.6-iwlwifi-fw-name-compat.patch
 
@@ -2158,6 +2161,8 @@
 
 %changelog
 * Tue Jul 31 2007 David Woodhouse <dwmw2 at infradead.org>
+- Fix bcm43xx transmission problems for mac80211 driver too
+- Fix softmac deadlock
 - Fix bcm43xx regression
 - Restore PowerMac suspend via /sys/power/state
 - PS3 fixes

linux-2.6-bcm43xx-revert-breakage.patch:

Index: linux-2.6-bcm43xx-revert-breakage.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-bcm43xx-revert-breakage.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-bcm43xx-revert-breakage.patch	31 Jul 2007 11:33:24 -0000	1.1
+++ linux-2.6-bcm43xx-revert-breakage.patch	31 Jul 2007 13:08:48 -0000	1.2
@@ -25,3 +25,39 @@
  		value = bcm43xx_phy_read(bcm, 0x0060) & ~0x003C;
  		value |= (baseband_attenuation << 2) & 0x003C;
  	} else {
+From: Larry Finger <Larry.Finger at lwfinger.net>
+To: John Linville <linville at tuxdriver.com>, Michael Buesch <mb at bu3sch.de>
+Subject: [PATCH V2] bcm43xx-mac80211: Fix specs typo for baseband
+	attenuation
+
+A typo in the specs interchanges the branches in an if statement, which
+breaks operations for a BCM4306/rev 2 that has phy->analog == 1.
+
+Signed-off-by: Larry Finger<Larry.Finger at lwfinger.net>
+---
+
+John and Michael,
+
+This patch is made for the wireless-dev tree after the bcm43xx-mac80211
+directory has been moved into drivers/net/wireless, but it needs to be
+applied to the wireless-mb tree as well.
+
+Larry
+
+Index: wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.c
+===================================================================
+--- wireless-dev/net/wireless/bcm43xx-mac80211/bcm43xx_phy.c
++++ wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.c
+@@ -1895,7 +1895,7 @@ void bcm43xx_phy_set_baseband_attenuatio
+ 		bcm43xx_write16(dev, BCM43xx_MMIO_PHY0,
+ 				(bcm43xx_read16(dev, BCM43xx_MMIO_PHY0)
+ 				 & 0xFFF0) | baseband_attenuation);
+-	} else if (phy->analog == 1) {
++	} else if (phy->analog > 1) {
+ 		bcm43xx_phy_write(dev, BCM43xx_PHY_DACCTL,
+ 				  (bcm43xx_phy_read(dev, BCM43xx_PHY_DACCTL)
+ 				   & 0xFFC3) | (baseband_attenuation << 2));
+_______________________________________________
+Bcm43xx-dev mailing list
+Bcm43xx-dev at lists.berlios.de
+https://lists.berlios.de/mailman/listinfo/bcm43xx-dev




More information about the fedora-extras-commits mailing list