Greg: The following lengthy series contains a set of changes and enhancements to ehci-hcd. The most notable changes include moving from regular kernel timers to high-resolution timers, and getting rid of long polling loops with interrupts disabled. Other changes include removal of unnecessary code, adding symbolic constants, renaming a few fields, general cleanups, checking for a few unlikely races, not assuming the controller has died when a state change takes longer than expected, unlinking multiple async QHs together, unlinking interrput QHs correctly, and so on... The end result will be (I hope!) a better behaved driver. Alan Stern drivers/usb/host/ehci-dbg.c | 24 - drivers/usb/host/ehci-hcd.c | 457 +++++++++++--------------------- drivers/usb/host/ehci-hub.c | 101 ++++--- drivers/usb/host/ehci-mem.c | 25 - drivers/usb/host/ehci-pci.c | 4 drivers/usb/host/ehci-q.c | 359 ++++++++++++++----------- drivers/usb/host/ehci-sched.c | 590 +++++++++++++++--------------------------- drivers/usb/host/ehci-tegra.c | 5 drivers/usb/host/ehci-timer.c | 423 +++++++++++++++++++++++++++++- drivers/usb/host/ehci.h | 136 +++++---- 10 files changed, 1139 insertions(+), 985 deletions(-) -- 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