Re: [PATCH] usb: typec: ucsi: Retry if notification enable timesout
Heikki Krogerus <[email protected]> Wed, 5 Aug 2026 14:03:19 +0200
| Newsgroups | org.kernel.vger.linux-usb,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Jul 29, 2026 at 02:21:50PM -0400, Mark Pearson wrote: > Found on Thinkpad E14 G8. > When UCSI notifications are enabled the FW does not ack the enablement > itself. Future commands will be acked correctly. > > If this happens try enablement again and confirm acks are working > correctly. > > Signed-off-by: Mark Pearson <[email protected]> Reviewed-by: Heikki Krogerus <[email protected]> > --- > drivers/usb/typec/ucsi/ucsi.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c > index 49f1c53721bb..ea25c44c2850 100644 > --- a/drivers/usb/typec/ucsi/ucsi.c > +++ b/drivers/usb/typec/ucsi/ucsi.c > @@ -2082,6 +2082,12 @@ static int ucsi_init(struct ucsi *ucsi) > ntfy = UCSI_ENABLE_NTFY_CMD_COMPLETE | UCSI_ENABLE_NTFY_ERROR; > command = UCSI_SET_NOTIFICATION_ENABLE | ntfy; > ret = ucsi_send_command(ucsi, command, NULL, 0); > + /* > + * Some FW may not ack the notification enable the first time. > + * If this happens, repeat to confirm it is actually working > + */ > + if (ret == -ETIMEDOUT) > + ret = ucsi_send_command(ucsi, command, NULL, 0); > if (ret < 0) > goto err_reset; > > -- > 2.43.0 -- heikki