Date: Tue, 18 Feb 2003 11:35:32 +0100 (CET) From: volf@deze.org (Frank Volf) To: "Louis A. Mamakos" <louie@TransSys.COM> Cc: freebsd-stable@FreeBSD.ORG Subject: Re: UHCI/USB related panic while Message-ID: <20030218103533.0CA7F3E0A@mail.voor.deze.org> In-Reply-To: <200302170242.h1H2gfTw004044@whizzo.transsys.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hmmm... that is interesting, I was about to report the exact same problem.
In my case, a HP scanner is causing the problem. If usb drivers are built
into the kernel, or loaded at boot time in loader.conf, then I have exactly
the same problem:
* a long delay while initialing the "usb hub"-driver
* a page fault on virtual address 0x4 in uhci_idone.
If, however I boot the system, and then kldload the usb modules, no problem
whatsoever.
Unfortunately, I have just as much clue as you on the solution... I'm just
writing this to let everybody know that yours isn't an isolatated case.
Frank
Louis A. Mamakos wrote:
>
> I just upgraded a machine to this morning's version of the RELENG_4
> branch of FreeBSD. I had problems booting it, where it would hang for
> a bit, and then panic while probing for USB peripherals.
>
> There was a USB hub plugged into the UHCI 2-port built-in "hub", and a USB
> mouse plugged into the external hub. Attempting to boot with just the
> external hub or just the external USB mouse seemed to break the same
> way. As this machine has a somewhat critical role, I couldn't spend
> a lot of time experimenting. I did jot down some of the information,
> and it seems like uhci_idone() is invoked with a null pointer; the
> fault virtual address is 0x4, which happens to be the offset of
> ii->xfer in the structure..
>
> What's interesting is that after the system is booted, I can plug
> in the USB mouse, and things work just fine.
>
> Does this ring a bell for anyone?
>
> (kgdb) x/i 0xc02afecc
> 0xc02afecc <uhci_idone+12>: mov 0x4(%eax),%ebx
> (kgdb) list *0xc02afecc
> 0xc02afecc is in uhci_idone (/usr/src/sys/dev/usb/uhci.c:1065).
> 1060
> 1061 /* Called at splusb() */
> 1062 void
> 1063 uhci_idone(uhci_intr_info_t *ii)
> 1064 {
> 1065 usbd_xfer_handle xfer = ii->xfer;
> 1066 struct uhci_pipe *upipe = (struct uhci_pipe *)xfer->pipe;
> 1067 uhci_soft_td_t *std;
> 1068 u_int32_t status = 0, nstatus;
> 1069 int actlen;
> (kgdb)
>
>
> When the system boots, I see this much on the console:
>
> uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xdce0-0xdcff irq 2 at device 7.2 on pci0
> usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
> usb0: USB revision 1.0
> uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 2 ports with 2 removable, self powered
>
> and then there's this ominious hang followed by the panic.
>
> louie
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-stable" in the body of the message
>
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?20030218103533.0CA7F3E0A>
