crash (and the backtrace) in the new if_zyd driver

From: Zahemszky Gábor <Gabor_at_Zahemszky.HU>
Date: Sat, 8 Sep 2007 16:40:03 +0200
Hi!

I tried the new if_zyd driver with my new Lutec WLA-54L USB-stick  on a
today-based CURRENT. My machine recognised it correctly when I plugged
in it:

zyd0: <ZyDAS USB2.0 WLAN, class 255/255, rev 2.00/48.10, addr 2> on uhub2
zyd0: HMAC ZD1211B, FW 47.25, RF AL2230, PA 0, address 00:02:72:65:66:00
zyd0: Ethernet address: 00:02:72:65:66:00

But when I "ifconfig zyd0 up" -ed it, the machine crashed. Here
is the backtrace of it:

====
 Picasso# kgdb -q kernel.debug /var/crash/vmcore.0
[GDB will not be able to debug user-mode
threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]

Unread portion of the kernel message buffer:
panic: Bad list head 0xc519a6bc first->prev != head
cpuid = 1
KDB: enter: panic
Physical memory: 2009 MB
Dumping 76 MB: 61 45 29 13

(kgdb) bt
#0  doadump () at pcpu.h:195
#1  0xc048cd99 in db_fncall (dummy1=-444823224, dummy2=0, dummy3=70,
dummy4=0xe57c88b4 "_at_đHŔ")
    at /usr/src/sys/ddb/db_command.c:486
#2  0xc048d305 in db_command_loop ()
at /usr/src/sys/ddb/db_command.c:401
#3  0xc048ea75 in db_trap (type=3, code=0)
at /usr/src/sys/ddb/db_main.c:222
#4  0xc07776d6 in kdb_trap (type=3, code=0, tf=0xe57c8a5c)
at /usr/src/sys/kern/subr_kdb.c:502
#5  0xc0a0348b in trap (frame=0xe57c8a5c)
at /usr/src/sys/i386/i386/trap.c:621
#6  0xc09e8eab in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0xc0777852 in kdb_enter (msg=0xc0a9b2f4 "panic") at cpufunc.h:60
#8  0xc0750a04 in panic (fmt=0xc0a55da3 "Bad list head %p
first->prev != head")
    at /usr/src/sys/kern/kern_shutdown.c:547
#9  0xc06a30aa in ehci_device_intr_start (xfer=0xc55b7e00)
at /usr/src/sys/dev/usb/ehci.c:3266
#10 0xc06a3143 in ehci_device_intr_transfer (xfer=0xc55b7e00)
    at /usr/src/sys/dev/usb/ehci.c:3184
#11 0xc06d1d5b in usbd_start_transfer (arg=0xc55b7e00, segs=0xc5212800,
nseg=1, error=0)
    at /usr/src/sys/dev/usb/usbdi.c:388
#12 0xc09e6155 in bus_dmamap_load (dmat=0xc51e7480, map=0xc0c182c0,
buf=0xe57c8c0a, buflen=0, 
    callback=0xc06d1be0 <usbd_start_transfer>, callback_arg=0xc55b7e00,
flags=0)
    at /usr/src/sys/i386/i386/busdma_machdep.c:765
#13 0xc06d22a4 in usbd_transfer (xfer=0xc55b7e00)
at /usr/src/sys/dev/usb/usbdi.c:312
#14 0xc06b599f in zyd_cmd (sc=0xc5ac3000, code=Variable "code" is not
available.
) at /usr/src/sys/dev/usb/if_zyd.c:775
#15 0xc06b5d44 in zyd_read32 (sc=Variable "sc" is not available.
) at /usr/src/sys/dev/usb/if_zyd.c:819
#16 0xc06b5dc6 in zyd_lock_phy (sc=0xc5ac3000)
at /usr/src/sys/dev/usb/if_zyd.c:876
#17 0xc06b7f7a in zyd_set_chan (sc=0xc5ac3000, c=0xc5ac33fc)
    at /usr/src/sys/dev/usb/if_zyd.c:1716
#18 0xc06b8206 in zyd_scantask (arg=0xc5ac3000)
at /usr/src/sys/dev/usb/if_zyd.c:2675
#19 0xc06ce68a in usb_task_thread (arg=0xc0bafab4)
at /usr/src/sys/dev/usb/usb.c:483
#20 0xc0732888 in fork_exit (callout=0xc06ce5c0 <usb_task_thread>,
arg=0xc0bafab4, 
    frame=0xe57c8d38) at /usr/src/sys/kern/kern_fork.c:797
#21 0xc09e8f20 in fork_trampoline ()
at /usr/src/sys/i386/i386/exception.s:205
(kgdb) 

====

By the way, If I boot the machine with the stick pushed in the
USB-slot, I get the next error message:

====
zyd0: <ZyDAS USB2.0 WLAN, class 255/255, rev 2.00/48.10, addr 2> on
uhub2 zyd0: setting config no failed
device_attach: zyd0 attach returned 6
====

And of course, there won't be a zyd0 interface.

Can anybody help me to use it?

Zahy < Gabor at Zahemszky dot HU >

-- 
#!/bin/ksh
Z='21N16I25C25E30, 40M30E33E25T15U!';IFS=' ABCDEFGHIJKLMNOPQRSTUVWXYZ
';set -- $Z;for i;{ [[ $i = ? ]]&&print $i&&break;[[ $i
= ??? ]]&&j=$i&&i=${i%?};typeset -i40 i=8#$i;print -n ${i#???};[[ "$j"
= ??? ]]&&print -n "${j#??} "&&j=;typeset +i i;};IFS=' 0123456789 ';set
-- $Z;for i;{ [[ $i = , ]]&&i=2;[[ $i = ?? ]]||typeset -l i;j="$j
$i";typeset +l i;};print "$j"
Received on Sat Sep 08 2007 - 13:06:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:17 UTC