This should help EHCI work better on some boards where
the BIOS support is buggy.
- Dave
Be more forgiving of buggy BIOS code, which never hands the
EHCI controller to Linux.
Signed-off-by: David Brownell <[EMAIL PROTECTED]>
--- a/drivers/usb/host/ehci-hcd.c Tue Aug 3 13:48:10 2004
+++ b/drivers/usb/host/ehci-hcd.c Tue Aug 3 13:48:10 2004
@@ -289,7 +289,7 @@
static int bios_handoff (struct ehci_hcd *ehci, int where, u32 cap)
{
if (cap & (1 << 16)) {
- int msec = 500;
+ int msec = 5000;
struct pci_dev *pdev = to_pci_dev(ehci->hcd.self.controller);
/* request handoff to OS */
@@ -305,7 +305,10 @@
if (cap & (1 << 16)) {
ehci_err (ehci, "BIOS handoff failed (%d, %04x)\n",
where, cap);
- return 1;
+ // some BIOS versions seem buggy...
+ // return 1;
+ ehci_warn (ehci, "continuing after BIOS bug...\n");
+ return 0;
}
ehci_dbg (ehci, "BIOS handoff succeeded\n");
}