>From 970df30f8661db0f8bc7602adfe07f469f655c86 Mon Sep 17 00:00:00 2001 From: Andiry Xu <andiry.xu@xxxxxxx> Date: Wed, 3 Mar 2010 16:13:08 +0800 Subject: [PATCH] Usbcore: Do not disable USB3 protocol ports in hub_activate When USB3 port detects an USB3.0 device attach, the port will automatically transition to the Enabled state upon the completion of successful link training. Do not clear enable state for USB3 protocol port in hub_activate(), or USB3.0 device will fail to be recognized if xHCI bus power management is implemented. Signed-off-by: Andiry Xu <andiry.xu@xxxxxxx> --- drivers/usb/core/hub.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 3dfeb4a..ce62218 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -710,7 +710,8 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type) * Unconnected ports should likewise be disabled (paranoia), * and so should ports for which we have no usb_device. */ - if ((portstatus & USB_PORT_STAT_ENABLE) && ( + if ((portstatus & USB_PORT_STAT_ENABLE) && + !(portstatus & (1 << USB_PORT_FEAT_SUPERSPEED)) && ( type != HUB_RESUME || !(portstatus & USB_PORT_STAT_CONNECTION) || !udev || -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html