Sarah: Do you have any experts on EHCI on tap at Intel? I've got some questions about the Interrupt on Async Advance Doorbell (IAAD) bit in the USBCMD register. The documentation is incomplete, inconsistent, and confusing. The spec isn't clear on whether a new IAA cycle starts up whenever the OS writes a 1 to the IAAD bit, or only when the bit gets set to 1. The difference matters when IAAD is already set and the OS needs to write to the USBCMD register: If it writes another 1 to IAAD, will that start a new IAA cycle? Or will the write to IAAD essentially be ignored? Similarly, what happens if IAAD is set to 1 and the OS writes a 0 to it? Does that turn off the IAA mechanism, preventing the IAA bit in the USBSTS register from getting set? In a nutshell, what should the OS do if IAAD was previously set to 1, the IAA cycle is not yet complete, and the OS needs to write to USBCMD (for example, to turn on an unrelated bit)? Thanks, 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