On Fri, May 26, 2017 at 09:44:17AM +0800, Jiahau Chang wrote: > 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 | 20 +++++++++++++++----- > drivers/usb/host/xhci-pci.c | 13 +++++++++++++ > drivers/usb/host/xhci.h | 2 ++ > 3 files changed, 30 insertions(+), 5 deletions(-) > > diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c > index 0dde49c..252c278 100644 > --- a/drivers/usb/host/xhci-hub.c > +++ b/drivers/usb/host/xhci-hub.c > @@ -1218,12 +1218,19 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, > xhci_dbg(xhci, "set port reset, actual port %d status = 0x%x\n", wIndex, temp); > break; > case USB_PORT_FEAT_REMOTE_WAKE_MASK: > - xhci_set_remote_wake_mask(xhci, port_array, > + if((xhci->quirks & XHCI_U2_DISABLE_WAKE) &&(hcd->speed < HCD_USB3)) { > + temp = readl(port_array[wIndex]); > + xhci_dbg(xhci, "skip set port remote wake mask, " > + "actual port %d status = 0x%x\n", > + wIndex, temp); > + }else{ > + xhci_set_remote_wake_mask(xhci, port_array, > wIndex, wake_mask); ALWAYS run your patches through scripts/checkpatch.pl so you don't get grumpy emails from maintainers telling you to run your patch through scripts/checkpatch.pl :) thanks, greg k-h -- 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