freebsd 5.2 (was 5.1) ohci driver causing a panic (more details)

Michael Haro mharo at bitsurf.net
Thu Jan 15 22:32:22 PST 2004


I upgraded to FreeBSD 5.2 to see if the changes to the ohci driver would
fix the problem.  I didn't think they would, but it was worth a shot.
It didn't fix it, but I now got kernel dump from the panic.

panic: ohci_add_done: addr 0x0ef5af00 not found
panic messages:
---
panic: ohci_add_done: addr 0x0ef5af00 not found
cpuid = 0;
Stack backtrace:

syncing disks, buffers remaining... 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980
giving up on 558 buffers
Uptime: 1d22h23m59s
Dumping 247 MB
 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
---
Reading symbols from /usr/obj/usr/src/sys/BURRITO/modules/usr/src/sys/modules/linux/linux.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/BURRITO/modules/usr/src/sys/modules/linux/linux.ko.debug
Reading symbols from /boot/kernel/ng_socket.ko...done.
Loaded symbols for /boot/kernel/ng_socket.ko
Reading symbols from /boot/kernel/netgraph.ko...done.
Loaded symbols for /boot/kernel/netgraph.ko
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
240             dumping++;
(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
#1  0xc0532d1d in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:372
#2  0xc053307c in poweroff_wait (junk=0xc06c640d, howto=250982144)
    at /usr/src/sys/kern/kern_shutdown.c:550
#3  0xc04d82a3 in ohci_add_done (sc=0xc06c640d, done=3456400552)
    at /usr/src/sys/dev/usb/ohci.c:1320
#4  0xc04d808a in ohci_intr1 (sc=0xc28c7000)
    at /usr/src/sys/dev/usb/ohci.c:1212
#5  0xc04d7f19 in ohci_intr (p=0xc28c7000) at /usr/src/sys/dev/usb/ohci.c:1142
#6  0xc0521739 in ithread_loop (arg=0xc2825100)
    at /usr/src/sys/kern/kern_intr.c:544
#7  0xc052092f in fork_exit (callout=0xc05215f0 <ithread_loop>, arg=0x0,
    frame=0x0) at /usr/src/sys/kern/kern_fork.c:793

All I need to do to trigger this panic is unplug my USB UPS and plug it
in and let the ups.pl script read from /dev/uhid0.

Let me know what other information would be useful.

Thanks,

Michael

On Mon, Jan 12, 2004 at 07:36:28AM -0800, Michael Haro wrote:
> dmesg part
> 
> FreeBSD 5.1-RELEASE-p10 #2: Sat Oct  4 21:04:37 PDT 2003
> 
> ohci0: <SiS 5571 USB controller> mem 0xed203000-0xed203fff irq 10 at device 3.0 on pci0
> usb0: OHCI version 1.0, legacy support
> usb0: <SiS 5571 USB controller> on ohci0
> usb0: USB revision 1.0
> uhub0: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 2 ports with 2 removable, self powered
> ohci1: <SiS 5571 USB controller> mem 0xed204000-0xed204fff irq 11 at device 3.1 on pci0
> usb1: OHCI version 1.0, legacy support
> usb1: <SiS 5571 USB controller> on ohci1
> usb1: USB revision 1.0
> uhub1: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub1: 2 ports with 2 removable, self powered
> ohci2: <SiS 5571 USB controller> mem 0xed200000-0xed200fff irq 6 at device 3.2 on pci0
> usb2: OHCI version 1.0, legacy support
> usb2: <SiS 5571 USB controller> on ohci2
> usb2: USB revision 1.0
> uhub2: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub2: 2 ports with 2 removable, self powered
> ugen0: APC Back-UPS ES 500 FW:2.e2.D USB FW:e2, rev 1.10/1.06, addr 2
> 
> Note that if the ups is plugged in when I boot up it comes in as a ugen0, but
> if I plug it in after it is uhid0.  I can reproduce this issue when it is
> uhid0.
> 
> usbdevs -dv :
> 
> Controller /dev/usb0:
> addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), SiS(0x0000), rev 1.00
>   uhub0
>  port 1 powered
>  port 2 powered
> Controller /dev/usb1:
> addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), SiS(0x0000), rev 1.00
>   uhub1
>  port 1 powered
>  port 2 powered
> Controller /dev/usb2:
> addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), SiS(0x0000), rev 1.00
>   uhub2
>  port 1 addr 2: low speed, power 2 mA, config 1, Back-UPS ES 500 FW:2.e2.D USB FW:e2(0x0002), APC(0x051d), rev 1.06
>    ugen0
>  port 2 powered
> 
> Michael
> 
> On Mon, Jan 12, 2004 at 02:51:42PM +0100, Bernd Walter wrote:
> > On Mon, Jan 12, 2004 at 12:45:15AM -0800, Michael Haro wrote:
> > > I can reproduce a kernel panic in 5.1 by unplugging the usb cable from my
> > > UPS. Unfortunately I'm not getting crash dumps. I'm not sure if I'm doing
> > > something wrong.  I have dumpdev set in /etc/rc.conf, but I also notice
> > > that the panic screen says ad0 DRQ timeout so I'm not sure if that is the
> > > reason I don't get a dump.
> > > 
> > > Anyway, I saw in CVS logs that the ohci driver has been updated a lot
> > > since 5.1 and I was wondering if anyone knows if any of the changes fix
> > > this type of panic.  I couldn't tell from the logs, but I'm currently
> > > cvsup'ing to 5.2 so I get the more recent ohci driver.
> > > 
> > > Let me know if there is anything else I should do.
> > 
> > If it's still reproduceable then please send the dmesg part with your
> > controller and usb devices - including the UPS.
> > 
> > -- 
> > B.Walter                   BWCT                http://www.bwct.de
> > ticso at bwct.de                                  info at bwct.de


More information about the freebsd-current mailing list