[RFC PATCH 2/7] usb: typec: ucsi: Don't stop alt mode registration on busy condition

From: Heikki Krogerus
Date: Mon Jun 07 2021 - 09:14:32 EST


If the PPM tells it's busy, we can now simply try again.

Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
---
drivers/usb/typec/ucsi/ucsi.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
index 366c8a468bc18..a8e0e31dcddf5 100644
--- a/drivers/usb/typec/ucsi/ucsi.c
+++ b/drivers/usb/typec/ucsi/ucsi.c
@@ -437,8 +437,11 @@ static int ucsi_register_altmodes(struct ucsi_connector *con, u8 recipient)
command |= UCSI_GET_ALTMODE_CONNECTOR_NUMBER(con->num);
command |= UCSI_GET_ALTMODE_OFFSET(i);
len = ucsi_send_command(con->ucsi, command, alt, sizeof(alt));
- if (len <= 0)
+ if (len <= 0) {
+ if (len == -EBUSY)
+ continue;
return len;
+ }

/*
* This code is requesting one alt mode at a time, but some PPMs
--
2.30.2