Hello, I wonder what does "TDI" stand for in ehci_is_TDI()? The current one checks hcd->has_tt, as in ehci.h: #define ehci_is_TDI(e) (ehci_to_hcd(e)->has_tt) Is it true that if an EHCI host controller has Transaction Translator, which means has_tt = 1, then it becomes "TDI"? The part worries me is that in ehci_reset(): if (ehci_is_TDI(ehci)) tdi_reset (ehci); And in tdi_reset(), it accesses a USBMOD register, which is not EHCI defined. Can someone clarify the correct way to implement the driver for an EHCI compliant host controller with transaction translator? Since the USBMOD register is not EHCI specified, we are not going to have that. Have I missed something? Thanks, Julie. This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately. -- 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