linux/drivers/usb/typec
Heikki Krogerus 68816e16b4 usb: typec: ucsi: Fix for incorrect status data issue
According to UCSI Specification, Connector Change Event only
means a change in the Connector Status and Operation Mode
fields of the STATUS data structure. So any other change
should create another event.

Unfortunately on some platforms the firmware acting as PPM
(platform policy manager - usually embedded controller
firmware) still does not report any other status changes if
there is a connector change event. So if the connector power
or data role was changed when a device was plugged to the
connector, the driver does not get any indication about
that. The port will show wrong roles if that happens.

To fix the issue, always checking the data and power role
together with a connector change event.

Fixes: c1b0bc2dab ("usb: typec: Add support for UCSI interface")
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-25 21:30:12 +08:00
..
fusb302 USB: typec: fsusb302: no need to check return value of debugfs_create_dir() 2018-05-31 16:03:59 +02:00
mux usb: typec: driver for Pericom PI3USB30532 Type-C cross switch 2018-03-22 13:49:28 +01:00
ucsi usb: typec: ucsi: Fix for incorrect status data issue 2018-06-25 21:30:12 +08:00
class.c usb: typec: Separate the definitions for data and power roles 2018-03-22 13:40:10 +01:00
Kconfig typec: tcpm: Represent source supply through power_supply 2018-04-25 14:20:20 +02:00
Makefile usb: typec: driver for Pericom PI3USB30532 Type-C cross switch 2018-03-22 13:49:28 +01:00
mux.c usb: typec: Fix htmldocs warning 2018-05-24 18:14:28 +02:00
tcpm.c USB: typec: tcpm: no need to check return value of debugfs_create_dir() 2018-05-31 12:54:21 +02:00
tps6598x.c usb: typec: tps6598x: handle block reads separately with plain-I2C adapters 2018-05-03 10:55:31 -07:00
typec_wcove.c usb: typec: wcove: Remove dependency on HW FSM 2018-05-24 18:17:00 +02:00