diff options
author | Steve French <sfrench@us.ibm.com> | 2010-12-03 03:52:43 +0000 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2010-12-03 03:52:43 +0000 |
commit | ebb27386ffd2fcd0fad141e0eee97b8070f94ee2 (patch) | |
tree | 3c71ee87e8771ac0eed912729605dbaf3f39348c /drivers/usb/host/xhci-hub.c | |
parent | 6d20e8406f0942228a73000663c2b33f488103ea (diff) | |
parent | 59e57c622c3502346e8f930421ebc482d639520c (diff) |
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/usb/host/xhci-hub.c')
-rw-r--r-- | drivers/usb/host/xhci-hub.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c index fef5a1f9d483..5d963e350494 100644 --- a/drivers/usb/host/xhci-hub.c +++ b/drivers/usb/host/xhci-hub.c @@ -229,6 +229,13 @@ void xhci_ring_device(struct xhci_hcd *xhci, int slot_id) static void xhci_disable_port(struct xhci_hcd *xhci, u16 wIndex, u32 __iomem *addr, u32 port_status) { + /* Don't allow the USB core to disable SuperSpeed ports. */ + if (xhci->port_array[wIndex] == 0x03) { + xhci_dbg(xhci, "Ignoring request to disable " + "SuperSpeed port.\n"); + return; + } + /* Write 1 to disable the port */ xhci_writel(xhci, port_status | PORT_PE, addr); port_status = xhci_readl(xhci, addr); |