aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-hub.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci-hub.c')
-rw-r--r--drivers/usb/host/xhci-hub.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index a1a7a9795536..480936a870ce 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -132,6 +132,13 @@ static u32 xhci_port_state_to_neutral(u32 state)
132static void xhci_disable_port(struct xhci_hcd *xhci, u16 wIndex, 132static void xhci_disable_port(struct xhci_hcd *xhci, u16 wIndex,
133 u32 __iomem *addr, u32 port_status) 133 u32 __iomem *addr, u32 port_status)
134{ 134{
135 /* Don't allow the USB core to disable SuperSpeed ports. */
136 if (xhci->port_array[wIndex] == 0x03) {
137 xhci_dbg(xhci, "Ignoring request to disable "
138 "SuperSpeed port.\n");
139 return;
140 }
141
135 /* Write 1 to disable the port */ 142 /* Write 1 to disable the port */
136 xhci_writel(xhci, port_status | PORT_PE, addr); 143 xhci_writel(xhci, port_status | PORT_PE, addr);
137 port_status = xhci_readl(xhci, addr); 144 port_status = xhci_readl(xhci, addr);