Messages in this thread Patch in this message | | | Date | Tue, 13 Jul 2004 01:30:58 -0400 | From | Will Beers <> | Subject | Re: [PATCH] proper bios handoff in ehci-hcd |
| |
> Stuart Hayes here at Dell has identified this or/and mix-up in the > ehci-hcd driver. Because of this, ehci-hcd is not properly released by > BIOSes supporting full 2.0 and port behavior can then become erratic.
This change actually breaks USB altogether on an Asus P4P800, as I noticed when I updated to 2.6.8-rc1.
I get the following messages at boot:
----- Jul 12 23:34:06 willdesktop kernel: ehci_hcd 0000:00:1d.7: BIOS handoff failed (104, 1010001) Jul 12 23:34:06 willdesktop kernel: ehci_hcd 0000:00:1d.7: can't reset Jul 12 23:34:06 willdesktop kernel: ehci_hcd 0000:00:1d.7: init 0000:00:1d.7 fail, -95 Jul 12 23:34:06 willdesktop kernel: ehci_hcd: probe of 0000:00:1d.7 failed with error -95 -----
I've seen a few other people with this problem, and reversing the change makes everything work perfectly again, maybe this was the cause of it all? (sorry if I missed the fix before)
(included patch reverses it)
-Will
-----------------------------------------------------------------------------
diff -Nru a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c --- a/drivers/usb/host/ehci-hcd.c 2004-07-13 01:09:00.000000000 -0400 +++ b/drivers/usb/host/ehci-hcd.c 2004-07-13 01:08:32.000000000 -0400 @@ -293,7 +293,7 @@ struct pci_dev *pdev = to_pci_dev(ehci->hcd.self.controller); /* request handoff to OS */ - cap |= 1 << 24; + cap &= 1 << 24; pci_write_config_dword(pdev, where, cap); /* and wait a while for it to happen */[unhandled content-type:application/x-pkcs7-signature] | |