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"); }