Hi,

there was an old patch from Sarah:
https://bugzilla.kernel.org/show_bug.cgi?id=41752

 drivers/usb/core/hub.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
--- a/drivers/usb/core/hub.c    
+++ a/drivers/usb/core/hub.c    
@@ -2033,6 +2033,8 @@ static unsigned hub_is_wusb(struct usb_hub *hub)
 #define HUB_LONG_RESET_TIME    200
 #define HUB_RESET_TIMEOUT      500
 
+static int hub_port_warm_reset(struct usb_hub *hub, int port);
+
 static int hub_port_wait_reset(struct usb_hub *hub, int port1,
                                struct usb_device *udev, unsigned int delay)
 {
@@ -2052,8 +2054,16 @@ static int hub_port_wait_reset(struct usb_hub *hub, int 
port1,
                        return ret;
 
                /* Device went away? */
-               if (!(portstatus & USB_PORT_STAT_CONNECTION))
+               if (!(portstatus & USB_PORT_STAT_CONNECTION)) {
+                       if (hub_is_superspeed(hub->hdev) &&
+                                       (portstatus & USB_PORT_STAT_LINK_STATE)
+                                               == USB_SS_PORT_LS_SS_INACTIVE) {
+                               dev_dbg(hub->intfdev, "warm reset port %d\n",
+                                               port1);
+                               return hub_port_warm_reset(hub, port1);
+                       }
                        return -ENOTCONN;
+               }
 
                /* bomb out completely if the connection bounced */
                if ((portchange & USB_PORT_STAT_C_CONNECTION))
-- 

As the bug has been reopened I need to ask, have we lost a patch
or what is happening?

        Regards
                Oliver


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to