kern/131162: Atheros driver bugginess and kernel crashes

Adam Kirchhoff adamk at voicenet.com
Fri Jan 30 06:50:03 PST 2009


>Number:         131162
>Category:       kern
>Synopsis:       Atheros driver bugginess and kernel crashes
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan 30 14:50:02 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Adam Kirchhoff
>Release:        7.1-STABLE from January 15th
>Organization:
>Environment:
FreeBSD scroll 7.1-STABLE FreeBSD 7.1-STABLE #2: Fri Jan 30 07:48:57 EST 2009     root at scroll:/usr/obj/usr/src/sys/GENERIC  i386

>Description:

Upon booting up, with 'ifconfig_ath0="WPA DHCP"' in /etc/rc.conf, I start getting these errors from the kernel:

ath0: ath_chan_set: unable to reset channel 7 (2442 Mhz, flags 0x480 hal flags 0xc0), hal status 3302560252
ath0: ath_chan_set: unable to reset channel 52 (5260 Mhz, flags 0x140 hal flags 0x140), hal status 3296823488
ath0: ath_chan_set: unable to reset channel 56 (5280 Mhz, flags 0x140 hal flags 0x140), hal status 0
ath0: ath_chan_set: unable to reset channel 60 (5300 Mhz, flags 0x140 hal flags 0x140), hal status 3304978572

It cycles through various channels till:

ath0: device timeout
ath0: ath_reset: unable to reset hardware; hal status 3232887468

And then it starts with the "unable to reset channel" errors again.  This continues till I run '/etc/rc.d/netif stop ath0'

When I go to remove the card, the kernel panics:

panic: resource_list_release: resource entry is not busy
cpuid = 0
KDB: enter: panic
[thread pid 34 tid 100033 ]
Stopped at      kdb_enter_why+0x3a:     movl    $0,kdb_why
db> bt
Tracing pid 34 tid 100033 td 0xc4988690
kdb_enter_why(c0b5759f,c0b5759f,c0b591cd,e5070bc4,0,...) at kdb_enter_why+0x3a
panic(c0b591cd,3,10,0,c49f91c0,...) at panic+0x136
resource_list_release(c4b6bc04,c494ab80,c49f8900,3,10,...) at resource_list_release+0xc2
bus_generic_rl_release_resource(c494ab80,c49f8900,3,10,c49f9480) at bus_generic_rl_release_resource+0x77
bus_release_resource(c49f8900,3,10,c49f9480,c49f8900,...) at bus_release_resource+0x67
ath_pci_detach(c49f8900,c48a1858,c0c15b60,c07c8125,4,...) at ath_pci_detach+0xb2
device_detach(c49f8900,e5070cac,e5070cb0,c4988690,e5070cc0,...) at device_detach+0x68
cardbus_detach_card(c494ab80,c48b08e0,c0bd2bfc,0,0,...) at cardbus_detach_card+0xcd
cbb_event_thread(c4913800,e5070d38,0,0,0,...) at cbb_event_thread+0x1ac
fork_exit(c0661a50,c4913800,e5070d38) at fork_exit+0x99
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe5070d70, ebp = 0 ---

In kgdb, this is the backtrace:

#0  doadump () at pcpu.h:196
196     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc07a4ef7 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc07a5202 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xc07cc232 in resource_list_release (rl=0xc4b6ec04, bus=0xc49a8500, child=0xc49fa480, type=3, rid=16, res=0xc49e0a80)
    at /usr/src/sys/kern/subr_bus.c:2777
#4  0xc07cc3c7 in bus_generic_rl_release_resource (dev=0xc49a8500, child=0xc49fa480, type=3, rid=16, r=0xc49e0a80)
    at /usr/src/sys/kern/subr_bus.c:3345
#5  0xc07cbed7 in bus_release_resource (dev=0xc49fa480, type=3, rid=16, r=0xc49e0a80) at bus_if.h:347
#6  0xc053c252 in ath_pci_detach (dev=0xc49fa480) at /usr/src/sys/dev/ath/if_ath_pci.c:223
#7  0xc07ca148 in device_detach (dev=0xc49fa480) at device_if.h:212
#8  0xc055c86d in cardbus_detach_card (cbdev=0xc49a8500) at /usr/src/sys/dev/cardbus/cardbus.c:236
#9  0xc0661bfc in cbb_event_thread (arg=0xc4913800) at card_if.h:95
#10 0xc077fc49 in fork_exit (callout=0xc0661a50 <cbb_event_thread>, arg=0xc4913800, frame=0xe5070d38)
    at /usr/src/sys/kern/kern_fork.c:804
#11 0xc0aa4630 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:264

	
>How-To-Repeat:

Install 7.1-STABLE, boot with atheros 5212 inserted.  Run wpa_supplicant, get timeout/reset errors, remove card, and watch the kernel panic.

>Fix:


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


More information about the freebsd-bugs mailing list