Re: BCM4312 Fails when xdm is started

From: Yuval Hager
Date: Sat Nov 22 2008 - 01:43:29 EST


On Friday 21 November 2008, Larry Finger wrote:
> 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
>

When the wireless is working:
$ lspci -d 14e4:4312 -x
02:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 02)
00: e4 14 12 43 06 01 10 00 02 00 80 02 08 00 00 00
10: 04 c0 ff fd 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 3c 10 71 13
30: 00 00 00 00 40 00 00 00 00 00 00 00 0a 01 00 00

After it fails:
$ lspci -d 14e4:4312 -x
02:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 02)
00: e4 14 12 43 00 00 10 00 02 00 80 02 00 00 00 00
10: 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 3c 10 71 13
30: 00 00 00 00 40 00 00 00 00 00 00 00 00 01 00 00


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

Sorry for the long time to reply, it took a while to recreate the problem.
According to the logs, it happened exactly when I checked the machine in the
morning.
At the beginning, the register dumps look like this:

[ 57.279984] ****** b43: B43_MMIO_MACCTL 0x840A0503
[ 57.279992] ****** b43: SSB_TMSLOW 0x20150000
(these line repeat exactly the same. Skipping)

[31723.961262] ****** b43: B43_MMIO_MACCTL 0x840A0503
[31723.961275] ****** b43: SSB_TMSLOW 0x20150000
[31732.959490] b43-phy0: Radio hardware status changed to DISABLED
[31732.959505] b43-phy0: ******** B43_B43_MMIO_RADIO_HWENABLED_HI 0xFFFFFFFF
[31738.130551] wlan0: No ProbeResp from current AP 00:22:3f:18:89:5e - assume
out of range
[31783.855931] ------------[ cut here ]------------
[31783.855944] WARNING: at drivers/net/wireless/b43/phy_common.c:135
b43_radio_lock+0x29/0x7e [b43]()
[31783.855955] Modules linked in: via drm rfkill_input hci_usb b43 led_class
input_polldev rtc snd_hda_intel snd_pcm snd_tim
er snd_page_alloc snd_hwdep snd soundcore ehci_hcd uhci_hcd usbcore sg ssb
video output via_agp agpgart
[31783.856023] Pid: 1220, comm: b43 Not tainted 2.6.28-rc5 #13
[31783.856032] Call Trace:
[31783.856055] [<c011f4e9>] warn_on_slowpath+0x40/0x59
[31783.856102] [<f7d93da3>] b43_gphy_op_write+0x25/0x29 [b43]
[31783.856143] [<f7d90735>] b43_calc_nrssi_slope+0x103e/0x105a [b43]
[31783.856180] [<f7cba429>] ssb_pci_write32+0x15/0x3f [ssb]
[31783.856209] [<f7cba545>] ssb_pci_read16+0x31/0x3f [ssb]
[31783.856244] [<f7d8854c>] __b43_shm_read16+0x79/0x81 [b43]
[31783.856272] [<f7cba545>] ssb_pci_read16+0x31/0x3f [ssb]
[31783.856306] [<f7d8854c>] __b43_shm_read16+0x79/0x81 [b43]
[31783.856334] [<f7cba4eb>] ssb_pci_read32+0x12/0x3b [ssb]
[31783.856370] [<f7d8dc77>] b43_radio_lock+0x29/0x7e [b43]
[31783.856408] [<f7d91e92>] b43_gphy_op_adjust_txpower+0x111/0x138 [b43]
[31783.856446] [<f7d8da06>] b43_phy_txpower_adjust_work+0x0/0x39 [b43]
[31783.856483] [<f7d8da36>] b43_phy_txpower_adjust_work+0x30/0x39 [b43]
[31783.856500] [<c012b2a4>] run_workqueue+0x6a/0xdf
[31783.856515] [<c012b9ba>] worker_thread+0x0/0xbd
[31783.856527] [<c012ba6d>] worker_thread+0xb3/0xbd
[31783.856545] [<c012dc8c>] autoremove_wake_function+0x0/0x2d
[31783.856560] [<c012dbc9>] kthread+0x38/0x5f
[31783.856573] [<c012db91>] kthread+0x0/0x5f
[31783.856588] [<c01040a7>] kernel_thread_helper+0x7/0x10
[31783.856598] ---[ end trace 7548c7ede66fa0d3 ]---
[31783.856607] ****** b43: B43_MMIO_MACCTL 0xFFFFFFFF
[31783.856616] ****** b43: SSB_TMSLOW 0xFFFFFFFF

And from now on, all reads are ones. I have the full logs if you need.

Cheers,

--yuval

Attachment: signature.asc
Description: This is a digitally signed message part.