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

From: Doug White <dwhite_at_gumbysoft.com>
Date: Fri, 16 Jan 2004 09:09:23 -0800 (PST)
On Thu, 15 Jan 2004, Michael Haro wrote:

> 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

This means that the OHCI controller passed back an address to a
transaction that didn't exist in the first place.

Can you reproduce this with any other usb device?

As an experiment you might try turning this panic in ohci_add_done in
src/sys/dev/usb/ohci.c into a printf.  Its the only one with "not found"
in it, after the two if blocks.

Do you have problems with other DMA problems, ie ATA?  This looks a lot
like a chipset bug.

> 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
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>

-- 
Doug White                    |  FreeBSD: The Power to Serve
dwhite_at_gumbysoft.com          |  www.FreeBSD.org
Received on Fri Jan 16 2004 - 08:09:26 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:38 UTC