Date: Mon, 5 Aug 2002 10:13:46 +0100 (BST) From: Gavin Atkinson <gavin@ury.york.ac.uk> To: <stable@freebsd.org> Subject: 4.6.1-RC2 usb/ohci panic: Removing other than first element Message-ID: <Pine.BSF.4.33.0208050950280.34462-100000@ury.york.ac.uk>
next in thread | raw e-mail | index | archive | help
Hi,
I'm seeing this panic once or twice a day on a 4.6.1-RC2 box installed
from the iso image. Kernel config file is recompiled and is GENERIC, with
all scsi and raid devices removed, 386,486 and 586 support removed,
debugger, IPDIVERT and IPFIREWALL enabled, apm and snp enabled, and all
usb subsystems except ohci, usb and ugen removed.
This box is used as a router, between an fxp network card and a USB ADSL
modem. I have the core file if anyone wants it.
panic: Removing other than first element
syncing disks... 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
giving up on 25 buffers
Uptime: 21h53m26s
---
#0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
487 if (dumping++) {
(kgdb) bt
#0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
#1 0xc01529eb in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:316
#2 0xc0152e29 in panic (fmt=0xc02346a0 "Removing other than first element")
at /usr/src/sys/kern/kern_shutdown.c:595
#3 0xc01da8c8 in usb_transfer_complete (xfer=0xc10bcb80)
at /usr/src/sys/dev/usb/usbdi.c:823
#4 0xc01d79e1 in ohci_process_done (sc=0xc049f000, done=64436032)
at /usr/src/sys/dev/usb/ohci.c:1207
#5 0xc01d7802 in ohci_intr1 (sc=0xc049f000)
at /usr/src/sys/dev/usb/ohci.c:1065
#6 0xc01d76f5 in ohci_intr (p=0xc049f000) at /usr/src/sys/dev/usb/ohci.c:994
#7 0xc020e479 in intr_mux (arg=0xc04a0780)
at /usr/src/sys/i386/isa/intr_machdep.c:582
(kgdb)
(kgdb) f 3
#3 0xc01da8c8 in usb_transfer_complete (xfer=0xc10bcb80)
at /usr/src/sys/dev/usb/usbdi.c:823
823 SIMPLEQ_REMOVE_HEAD(&pipe->queue, xfer, next);
(kgdb) list
818 #ifdef DIAGNOSTIC
819 if (xfer != SIMPLEQ_FIRST(&pipe->queue))
820 printf("usb_transfer_complete: bad dequeue %p != %p\n",
821 xfer, SIMPLEQ_FIRST(&pipe->queue));
822 #endif
823 SIMPLEQ_REMOVE_HEAD(&pipe->queue, xfer, next);
824 }
825
826 /* Count completed transfers. */
827 ++pipe->device->bus->stats.uds_requests
(kgdb)
(kgdb) p &pipe->queue
$1 = (struct {...} *) 0xc10bca94
(kgdb) p pipe->queue
$2 = {stqh_first = 0x0, stqh_last = 0xc10bca94}
(kgdb) p xfer
$3 = 0xc10bcb80
(kgdb) p next
No symbol "next" in current context.
(kgdb) p *xfer
$4 = {pipe = 0xc10bca80, priv = 0x0, buffer = 0x0, length = 0, actlen = 0,
flags = 2, timeout = 5000, status = USBD_NORMAL_COMPLETION, callback = 0,
done = 1 '\001', request = {bmRequestType = 2 '\002', bRequest = 1 '\001',
wValue = "\000", wIndex = "\207", wLength = "\000"}, frlengths = 0x0,
nframes = 0, device = 0xc10bcb00, dmabuf = 0x0, rqflags = 1, next = {
stqe_next = 0x0}, hcpriv = 0x0, hcprivint = 0, timo_handle = {
callout = 0xc24d6540}}
(kgdb) f 4
#4 0xc01d79e1 in ohci_process_done (sc=0xc049f000, done=64436032)
at /usr/src/sys/dev/usb/ohci.c:1207
1207 usb_transfer_complete(xfer);
(kgdb) list
1202 LE(std->td.td_cbp) + 1;
1203 if (std->flags & OHCI_ADD_LEN)
1204 xfer->actlen += len;
1205 if (std->flags & OHCI_CALL_DONE) {
1206 xfer->status =
USBD_NORMAL_COMPLETION;
1207 usb_transfer_complete(xfer);
1208 }
1209 ohci_free_std(sc, std);
1210 } else {
1211 /*
(kgdb) p xfer
$6 = 0xc10bcb80
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.33.0208050950280.34462-100000>
