kern/181100: Turning up bwi0 crashes / deadlocks the kernel

Julio Merino julio+host-mastodon-jmmv at meroh.net
Wed Aug 7 02:50:00 UTC 2013


>Number:         181100
>Category:       kern
>Synopsis:       Turning up bwi0 crashes / deadlocks the kernel
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 07 02:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Julio Merino
>Release:        FreeBSD 10.0-CURRENT powerpc
>Organization:
>Environment:
System: FreeBSD mastodon.meroh.net 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r253975M: Mon Aug 5 20:31:12 EDT 2013 jmmv at mastodon.meroh.net:/usr/obj/usr/src/sys/GENERIC64 powerpc

	Kernel does NOT have WITNESS enabled.

>Description:
	I don't know if this is a powerpc-related issue or if it is a
	generic issue with (possibly) interrupt handling.  I'm filing
	the report in the kern component for triage.

	I have a PowerMac G5 in which I'm trying to set up a wireless
	connection.  I have installed the bwi-firmware-kmod-3.130.20
	package and attempted the following commands:

	# kldload if_bwi
	# ifconfig wlan0 create wlandev bwi0
	# ifconfig bwi0 up scan

	as described in the handbook.  However, after the third command,
	the kernel crashes or sometimes apparently deadlocks.  The last
	time this happened resulted in the following messages spewed to
	the console (manually transcribed):

-----
bwi0: <Broadcom BCM4306 802.11b/g Wireless Lan> mem 0x80104000-0x80105fff irq 185 at device 1.0 on pci5
bwi0: BBP: id 0x4306, rev 0x2, pkg 0
bwi0: MA
bwi0: PHY: type 2, rev 1, ver 1
bwi0: RF: manu 0x17f, type 0x2050, rev 2
bwi0: invalid antenna gain in sprom
atapci1 <ServerWorks K2 SATA150 controller> at device 12.1 on pci8
pcib1: failed to reserve resource for pcib8
atapci1: 0x10 bytes of rid 0x20 res 4 failed (0, 0xffffffffffffffff).
atapci1: unable to map interrupt
device_attach: atapci1 attach returned 6
wlan0: Ethernet address: xx:xx:xx:xx:xx:xx
bwi0: firmware rev 0x0127, patch level 0x000e

fatal kernel trap:

   exception = 0x300 (data storage interrupt)
   virtual address = 0x6275735f676574
   dsisr = 0x46000000
   srr0 = 0x7c4ed8
   srr1 = 0x9000000000009032
   lr = 0xc00000000b554590
   curthread = 0x25b2b490
           pid = 12, comm = irq185: bwi0

[ thread pid 12 tid 100102 ]
Stopped at 0x7c4ed8: ld r30, r27, 0x0,
-----
	
	To me, this looks like an interrupt routing problem or some
	other kind of device conflict.  Note that the error messages
	seem to indicate that.  Also, I have no idea why atapci1 appears
	after bwi0 given that I did not perform any other activities in
	between the commands mentioned above that could cause a storage
	device from being attached.

	This is the output of atapci-related entries in sysctl, which
	shows nothing about atapci1:

-----
$ sysctl -a | grep atapci
mastodon:~> sysctl -a | grep atapci
dev.ata.2.%parent: atapci0
dev.ata.3.%parent: atapci0
dev.ata.4.%parent: atapci0
dev.ata.5.%parent: atapci0
dev.atapci.0.%desc: ServerWorks K2 SATA150 controller
dev.atapci.0.%driver: atapci
dev.atapci.0.%location: slot=12 function=0
dev.atapci.0.%pnpinfo: vendor=0x1166 device=0x0240 subvendor=0x1166
subdevice=0x0240 class=0x01018f name=k2-sata-root compat=k2-s-ata
dev.atapci.0.%parent: pci8
-----

	And, finally, atapci messages from dmesg after a reboot, without
	having loaded bwi0 at all:

-----
mastodon:~> dmesg | grep atapci
atapci0: <ServerWorks K2 SATA150 controller> mem 0x80600000-0x80601fff
irq 128 at device 12.0 on pci8
atapci0: 0x10 bytes of rid 0x20 res 4 failed (0, 0xffffffffffffffff).
ata2: <ATA channel> at channel 0 on atapci0
ata3: <ATA channel> at channel 1 on atapci0
ata4: <ATA channel> at channel 2 on atapci0
ata5: <ATA channel> at channel 3 on atapci0
atapci1: <ServerWorks K2 SATA150 controller> at device 12.1 on pci8
atapci1: 0x10 bytes of rid 0x20 res 4 failed (0, 0xffffffffffffffff).
atapci1: unable to map interrupt
device_attach: atapci1 attach returned 6
------

	I can provide more information if necessary.
>How-To-Repeat:
	On a PowerMac G5 (and possibly other machines):

	# kldload if_bwi
	# ifconfig wlan0 create wlandev bwi0
	# ifconfig bwi0 up scan
>Fix:

	


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list