]> git.ipfire.org Git - people/ms/linux.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Mar 2015 13:11:02 +0000 (14:11 +0100)
commitf51b8a1bd956b9d0edc995a33c2ced44217643d1
treea189e8f73c331aedb89452615c75d1c815acdb1c
parent19584ca9b13815ee7e565b8f8ec4bf32a2c2c472
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-pci.c
drivers/usb/host/xhci.h