ChangeSet 1.1123.18.18, 2003/08/13 15:15:48-07:00, [EMAIL PROTECTED]

[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 Fri Aug 15 10:44:56 2003
+++ b/drivers/usb/host/ehci-q.c Fri Aug 15 10:44:56 2003
@@ -794,6 +794,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);
                }
 
                /* usb_clear_halt() means qh data toggle gets reset */



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to