[PATCH][SRU][Xenial] Fix can't disable USB port issue

AceLan Kao acelan.kao at canonical.com
Thu Jun 22 08:10:32 UTC 2017

BugLink: http://bugs.launchpad.net/bugs/1695216

In BIOS, there is front USB port disable function.
It is supposed the option in BIOS can disable USB port, but due to AMD chip's
limitation, it needs OS’s cowork. Otherwise the USB disable function will
be invalid when resuming from S3 or reinsert USB device.

After checking with Windows, we found there are 2 bits that are default on
in Ubuntu is disabled in Windows. They are 
	#define PORT_WKOC_E     (1<<22)         /* wake on overcurrent (enable) */
	#define PORT_WKCONN_E   (1<<20)         /* wake on connect (enable) */
So, this patch introduce a quirk to not setup the wakeup bits only for
AMD USB chips.

Verified on the machine has this issue, and confirm this patch works.

This patch is accepted by the maintainer but still not shown up in any git tree
yet. The discussion thread can be found here[1]. To fit the project schedule,
we need this commit in our kernel as soon as possbile, and can't wait to
next SRU release cycle.

1. https://www.spinics.net/lists/linux-usb/msg157789.html

Jiahau Chang (1):
  xhci: AMD Promontory USB disable port support

 drivers/usb/host/xhci-hub.c |  2 ++
 drivers/usb/host/xhci-pci.c | 13 +++++++++++++
 drivers/usb/host/xhci.h     |  2 ++
 3 files changed, 17 insertions(+)


More information about the kernel-team mailing list