]> git.proxmox.com Git - mirror_ubuntu-zesty-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)
committerLuis Henriques <luis.henriques@canonical.com>
Fri, 20 Jan 2017 11:26:24 +0000 (11:26 +0000)
commita3beeee6a3c841d40bc075fca8f9b1df436f9615
treea488dd4afdc182ee2cb8ec843bccfafad65e0c5c
parent562d1d054746418573325499f16dbc881536d7e6
xhci: workaround for hosts missing CAS bit

BugLink: http://bugs.launchpad.net/bugs/1655969
commit 346e99736c3ce328fd42d678343b70243aca5f36 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
drivers/usb/host/xhci-hub.c
drivers/usb/host/xhci-pci.c
drivers/usb/host/xhci.h