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 [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to