lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 21 Nov 2008 12:28:03 -0600
From:	Larry Finger <Larry.Finger@...inger.net>
To:	Yuval Hager <yuval@...amzon.net>
CC:	Michael Buesch <mb@...sch.de>, bcm43xx-dev@...ts.berlios.de,
	LKML <linux-kernel@...r.kernel.org>,
	wireless <linux-wireless@...r.kernel.org>,
	Peter Stuge <peter@...ge.se>
Subject: Re: BCM4312 Fails when xdm is started

Yuval,

Michael Buesch wrote:
> 
> Can you dump PCI config space and SSB registers (TMSLOW, maybe others, too).
> It looks like a random bus write disabled the device.

Please incorporate the following patch and run your system. In addition, run the
following command when the wireless is working and after it fails:

sudo lspci -d 14e4:4312 -x

Post the results of the above commands and any entries in /var/log/messages that
dump registers. They should all be prefaced with ****


Index: linux-2.6/drivers/net/wireless/b43/phy_common.c
===================================================================
--- linux-2.6.orig/drivers/net/wireless/b43/phy_common.c
+++ linux-2.6/drivers/net/wireless/b43/phy_common.c
@@ -133,6 +133,11 @@ void b43_radio_lock(struct b43_wldev *de

 	macctl = b43_read32(dev, B43_MMIO_MACCTL);
 	B43_WARN_ON(macctl & B43_MACCTL_RADIOLOCK);
+	if (macctl & B43_MACCTL_RADIOLOCK) {
+		printk(KERN_INFO "****** b43: B43_MMIO_MACCTL 0x%X\n", macctl);
+		printk(KERN_INFO "****** b43: SSB_TMSLOW 0x%X\n",
+			ssb_read32(dev->dev, SSB_TMSLOW));
+	}
 	macctl |= B43_MACCTL_RADIOLOCK;
 	b43_write32(dev, B43_MMIO_MACCTL, macctl);
 	/* Commit the write and wait for the device
@@ -150,6 +155,11 @@ void b43_radio_unlock(struct b43_wldev *
 	/* unlock */
 	macctl = b43_read32(dev, B43_MMIO_MACCTL);
 	B43_WARN_ON(!(macctl & B43_MACCTL_RADIOLOCK));
+	if (macctl & B43_MACCTL_RADIOLOCK) {
+		printk(KERN_INFO "****** b43: B43_MMIO_MACCTL 0x%X\n", macctl);
+		printk(KERN_INFO "****** b43: SSB_TMSLOW 0x%X\n",
+			ssb_read32(dev->dev, SSB_TMSLOW));
+	}
 	macctl &= ~B43_MACCTL_RADIOLOCK;
 	b43_write32(dev, B43_MMIO_MACCTL, macctl);
 }
Index: linux-2.6/drivers/net/wireless/b43/rfkill.c
===================================================================
--- linux-2.6.orig/drivers/net/wireless/b43/rfkill.c
+++ linux-2.6/drivers/net/wireless/b43/rfkill.c
@@ -63,6 +63,8 @@ static void b43_rfkill_poll(struct input
 		report_change = 1;
 		b43info(wl, "Radio hardware status changed to %s\n",
 			enabled ? "ENABLED" : "DISABLED");
+		b43info(wl, "******** B43_B43_MMIO_RADIO_HWENABLED_HI 0x%X\n",
+			b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI));
 	}
 	mutex_unlock(&wl->mutex);



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ