Re: [PATCH] proper bios handoff in ehci-hcd
From: Will Beers
Date: Tue Jul 13 2004 - 00:32:03 EST
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 */
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature