Messages in this thread |  | | Date | Wed, 06 Dec 2000 16:06:42 -0500 | From | Jeff Garzik <> | Subject | Re: test12-pre6 |
| |
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/
|  |