From: Alan Stern <stern@rowland.harvard.edu>
Date: Fri, 4 May 2007 15:53:30 +0000 (-0400)
Subject: USB: don't unsuspend for a new connection
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=8adb4786789c25007f39b4d00dd03cc83bdcb896;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git

USB: don't unsuspend for a new connection

This patch (as889) prevents the hub driver from trying to resume a
port when there is a new connection.  For one thing, the resume is not
needed -- the upcoming port reset will clear the suspend feature
automatically.  For another, on some systems the resume fails and
causes problems.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---

diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 8aea8559bec2..702023075310 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -2426,19 +2426,6 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,
 		return;
 	}
 
-#ifdef  CONFIG_USB_SUSPEND
-	/* If something is connected, but the port is suspended, wake it up. */
-	if (portstatus & USB_PORT_STAT_SUSPEND) {
-		status = hub_port_resume(hub, port1, NULL);
-		if (status < 0) {
-			dev_dbg(hub_dev,
-				"can't clear suspend on port %d; %d\n",
-				port1, status);
-			goto done;
-		}
-	}
-#endif
-
 	for (i = 0; i < SET_CONFIG_TRIES; i++) {
 		struct usb_device *udev;