There is some limitation for AMD Promontory xHCI host to disable USB port function. It will enable USB wake-up function then cause USB disable port feature to fail. Workaround this issue on Promontory xHCI host is clear PORT_WAKE_BITS. Signed-off-by: Jiahau Chang <Lars_chang@xxxxxxxxxxxxxx> --- drivers/usb/host/xhci-hub.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c index 51e408b..fa5ef22 100644 --- a/drivers/usb/host/xhci-hub.c +++ b/drivers/usb/host/xhci-hub.c @@ -1224,7 +1224,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, "actual port %d status = 0x%x\n", wIndex, temp); } - else { + else { xhci_set_remote_wake_mask(xhci, port_array, wIndex, wake_mask); temp = readl(port_array[wIndex]); @@ -1469,7 +1469,6 @@ int xhci_bus_suspend(struct usb_hcd *hcd) t2 |= PORT_WKOC_E | PORT_WKCONN_E; t2 &= ~PORT_WKDISC_E; } - if ((xhci->quirks & XHCI_U2_DISABLE_WAKE) && (hcd->speed < HCD_USB3)) t2 &= ~PORT_WAKE_BITS; } else -- 2.7.4 -- 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