Re: [PATCH 0/2] UCSI race condition resulting in wrong port state

From: Heikki Krogerus
Date: Fri Oct 23 2020 - 10:21:06 EST


On Fri, Oct 09, 2020 at 04:40:45PM +0200, Benjamin Berg wrote:
> From: Benjamin Berg <bberg@xxxxxxxxxx>
>
> Hi all,
>
> so, I kept running in an issue where the UCSI port information was saying
> that power was being delivered (online: 1), while no cable was attached.
>
> The core of the problem is that there are scenarios where UCSI change
> notifications are lost. This happens because querying the changes that
> happened is done using the GET_CONNECTOR_STATUS command while clearing the
> bitfield happens from the separate ACK command. Any change in between will
> be lost.
>
> Note that the problem may be almost invisible in the UI as e.g. GNOME will
> still show the battery as discharging. But some policies like automatic
> suspend may be applied incorrectly.
>
> Cc: Hans de Goede <hdegoede@xxxxxxxxxx>
> Cc: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

Both patches:

Acked-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

> Benjamin Berg (2):
> usb: typec: ucsi: acpi: Always decode connector change information
> usb: typec: ucsi: Work around PPM losing change information
>
> drivers/usb/typec/ucsi/ucsi.c | 125 ++++++++++++++++++++++++-----
> drivers/usb/typec/ucsi/ucsi.h | 2 +
> drivers/usb/typec/ucsi/ucsi_acpi.c | 5 +-
> 3 files changed, 110 insertions(+), 22 deletions(-)

thanks,

--
heikki