[3/3] usb: typec: ucsi: Fix for incorrect status data issue

From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Date: 2018-06-26 08:09:20

On Mon, Jun 25, 2018 at 10:54:27PM +0800, Greg Kroah-Hartman wrote:
On Mon, Jun 25, 2018 at 05:48:05PM +0300, Heikki Krogerus wrote:
quoted
On Mon, Jun 25, 2018 at 08:37:25PM +0800, Greg Kroah-Hartman wrote:
quoted
On Thu, Jun 21, 2018 at 04:43:19PM +0300, Heikki Krogerus wrote:
quoted
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: c1b0bc2dabfa ("usb: typec: Add support for UCSI interface")
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
No stable kernel marking for this? odd...
I forgot to put it there. Sorry.

I noticed you picked this patch already, but can I still resend it?
I already added that tag :)
OK :-). Thanks Greg!

Br,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help