--- ohci-hcd.c.old 2007-05-17 01:28:17.000000000 +0900 +++ ohci-hcd.c 2007-05-17 01:28:44.000000000 +0900 @@ -453,34 +453,6 @@ * was never needed for most non-PCI systems ... remove the code? */ -#ifndef IR_DISABLE - /* SMM owns the HC? not for long! */ - if (!no_handshake && ohci_readl (ohci, - &ohci->regs->control) & OHCI_CTRL_IR) { - u32 temp; - - ohci_dbg (ohci, "USB HC TakeOver from BIOS/SMM\n"); - - /* this timeout is arbitrary. we make it long, so systems - * depending on usb keyboards may be usable even if the - * BIOS/SMM code seems pretty broken. - */ - temp = 500; /* arbitrary: five seconds */ - - ohci_writel (ohci, OHCI_INTR_OC, &ohci->regs->intrenable); - ohci_writel (ohci, OHCI_OCR, &ohci->regs->cmdstatus); - while (ohci_readl (ohci, &ohci->regs->control) & OHCI_CTRL_IR) { - msleep (10); - if (--temp == 0) { - ohci_err (ohci, "USB HC takeover failed!" - " (BIOS/SMM bug)\n"); - return -EBUSY; - } - } - ohci_usb_reset (ohci); - } -#endif + printk("fredrick's patch, takeover shouldn't fail...\n"); /* Disable HC interrupts */ ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);