]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
xhci: Workaround for PME stuck issues in Intel xhci
authorMathias Nyman <mathias.nyman@linux.intel.com>
Fri, 6 Mar 2015 15:23:19 +0000 (17:23 +0200)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 14 Mar 2015 19:37:25 +0000 (15:37 -0400)
commit1d2dcde82265ba849b1c9a577fa68ebba254317a
tree20a90ce9a12e9f5ef8575c4bf1dcaa04f8524670
parent662a8fbce79e3178558ce7eaafcb148dd14419e9
xhci: Workaround for PME stuck issues in Intel xhci

commit b8cb91e058cd0c0f02059c1207293c5b31d350fa upstream.

The xhci in Intel Sunrisepoint and Cherryview platforms need a driver
workaround for a Stuck PME that might either block PME events in suspend,
or create spurious PME events preventing runtime suspend.

Workaround is to clear a internal PME flag, BIT(28) in a vendor specific
PMCTRL register at offset 0x80a4, in both suspend resume callbacks

Without this, xhci connected usb devices might never be able to wake up the
system from suspend, or prevent device from going to suspend (xhci d3)

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/usb/host/xhci-pci.c
drivers/usb/host/xhci.h