I don't know how, but adding the following line in function quirk_usb_handoff_ohci makes the system work fine: /* reset requires max 10 us delay */ + udelay(1); for (cnt = 30; cnt > 0; --cnt) { /* ... allow extra time */ if ((readl(base + OHCI_CMDSTATUS) & OHCI_HCR) == 0) I observed thad the condition in the for loop is allways true, so the delay inside the loop is never executed. With the unmodified source, the execution doesn't stop at this point but at the next readl (I tried inserting printk and readl instructions after the writel which restores the fminterval and the execution stopped before exiting quirk_usb_handoff_ohci). I don't know how it relates to the ACPI message... (see bug 43073 in bugzilla.kernel.org). Calin Demian 2012/4/25 Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>: > On Wed, 25 Apr 2012, Calin Demian wrote: > >> I have reported the issue in bugzilla, before (bug 43073). Because the >> problem does not appear every time, I am able to boot with new kernels >> (sometimes). >> I also found that the problem is triggered by a specific sequence of >> io read/write operations (including the software reset) related to the >> host controller (during init) and by changing the operations or >> inserting delays between them it can be solved. > > What delays do you need, and where should they be inserted? > > Alan Stern > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html