From: Dan Williams <dan.j.williams@intel.com>
Date: Wed, 21 May 2014 01:09:03 +0000 (-0700)
Subject: usb: don't clear FEAT_C_ENABLE on usb_port_runtime_resume failure
X-Git-Tag: firefly_0821_release~176^2~3465^2~37^2~24
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7c604079bdf729e7b8c4b0e67c688b5081d1863d;p=firefly-linux-kernel-4.4.55.git

usb: don't clear FEAT_C_ENABLE on usb_port_runtime_resume failure

Three reasons:
1/ It's an invalid operation on usb3 ports
2/ There's no guarantee of when / if a usb2 port has entered an error
   state relative to PORT_POWER request
3/ The port is active / powered at this point, so khubd will clear it as
   a matter of course

Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---

diff --git a/drivers/usb/core/port.c b/drivers/usb/core/port.c
index 827b0d38f73d..f41f0512307e 100644
--- a/drivers/usb/core/port.c
+++ b/drivers/usb/core/port.c
@@ -110,7 +110,6 @@ static int usb_port_runtime_resume(struct device *dev)
 		if (retval < 0)
 			dev_dbg(&port_dev->dev, "can't get reconnection after setting port  power on, status %d\n",
 					retval);
-		usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_ENABLE);
 		retval = 0;
 	}