]> git.ipfire.org Git - people/arne_f/kernel.git/commit
xhci: workaround for hosts missing CAS bit
authorMathias Nyman <mathias.nyman@linux.intel.com>
Thu, 20 Oct 2016 15:09:19 +0000 (18:09 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Oct 2016 15:54:55 +0000 (17:54 +0200)
commit346e99736c3ce328fd42d678343b70243aca5f36
tree4132b0eb2dcbd89e109c7ce5cacb8626a16220ba
parent4c39135aa412d2f1381e43802523da110ca7855c
xhci: workaround for hosts missing CAS bit

If a device is unplugged and replugged during Sx system suspend
some  Intel xHC hosts will overwrite the CAS (Cold attach status) flag
and no device connection is noticed in resume.

A device in this state can be identified in resume if its link state
is in polling or compliance mode, and the current connect status is 0.
A device in this state needs to be warm reset.

Intel 100/c230 series PCH specification update Doc #332692-006 Errata #8

Observed on Cherryview and Apollolake as they go into compliance mode
if LFPS times out during polling, and re-plugged devices are not
discovered at resume.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
CC: <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-hub.c
drivers/usb/host/xhci-pci.c
drivers/usb/host/xhci.h