Re: test12-pre6

From: Jeff Garzik (jgarzik@mandrakesoft.com)
Date: Wed Dec 06 2000 - 16:06:42 EST


Erik Mouw wrote:
>
> On Wed, Dec 06, 2000 at 11:38:30AM -0800, Linus Torvalds wrote:
> > But I see something obviously wrong there: you have busmaster disabled.
> >
> > Looking into the UHCI controller code, I notice that neither UHCI driver
> > actually does the (required)
> >
> > pci_set_master(dev);
> >
> > Please add that to just after a successful "pci_enable_device(dev)", and I
> > just bet your USB will start working.
>
> Yes, that did the trick! Problem solved, thanks a lot!
>
> > Johannes, Georg, the above is a fairly embarrassing bug, and is likely to
> > explain a _lot_ of USB failures (the OHCI driver does do this, btw).
>
> Here is the patch, I don't know if it is enabled in the right place,
> but it definatively fixes the problem.
>
> --- drivers/usb/uhci.c.old Wed Dec 6 20:55:05 2000
> +++ drivers/usb/uhci.c Wed Dec 6 20:55:37 2000
> @@ -2383,6 +2383,8 @@
> if (pci_enable_device(dev) < 0)
> return -ENODEV;
>
> + pci_set_master(dev);
> +
> if (!dev->irq) {
> err("found UHCI device with no IRQ assigned. check BIOS
> settings!");
> return -ENODEV;
> --- drivers/usb/usb-uhci.c.old Wed Dec 6 20:53:58 2000
> +++ drivers/usb/usb-uhci.c Wed Dec 6 20:54:48 2000
> @@ -2941,6 +2941,8 @@
>
> if (pci_enable_device(dev) < 0)
> return -ENODEV;
> +
> + pci_set_master(dev);
>
> /* Search for the IO base address.. */
> for (i = 0; i < 6; i++) {
>

I didn't test your patch, but it looks good. Immediately following
pci_enable_device is generally a really good place for the call to
pci_set_master.

        Jeff

-- 
Jeff Garzik         |
Building 1024       | These are not the J's you're lookin' for.
MandrakeSoft        | It's an old Jedi mind trick.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Dec 07 2000 - 21:00:16 EST