ChangeSet 1.1019.1.32, 2003/08/13 15:17:26-07:00, kevino@asti-usa.com [PATCH] USB: bug in EHCI device reset through transaction This supports another special case: devices can revert to the "default" (address zero) state temporarily in usb_reset_device(). This is the quick fix; 2.6 could get rid of these special cases in ep0 hcd logic by disabling ep0, but 2.4 can't. drivers/usb/host/ehci-q.c | 4 ++++ 1 files changed, 4 insertions(+) diff -Nru a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c --- a/drivers/usb/host/ehci-q.c Thu Aug 28 14:50:03 2003 +++ b/drivers/usb/host/ehci-q.c Thu Aug 28 14:50:03 2003 @@ -832,6 +832,10 @@ qh->hw_info1 = cpu_to_le32 (info); } } + + /* usb_reset_device() briefly reverts to address 0 */ + if (usb_pipedevice (urb->pipe) == 0) + qh->hw_info1 &= cpu_to_le32(~0x7f); } /* NOTE: changing config or interface setting is not