summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>2024-06-27 17:44:40 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-07-03 16:04:49 +0200
commita7d2fa776976294d39d4cf36b25ca43be8325c3f (patch)
tree074b45247e4035f81c23a3a6e22768b1ef917ad6 /drivers/usb
parentf7697db8b1b3e80d8cd5af071a5af42c8b445fc4 (diff)
usb: typec: ucsi: move ucsi_acknowledge() from ucsi_read_error()
As a preparation for reworking UCSI command handling, move ucsi_acknowledge() for the failed command from ucsi_read_error() to ucsi_exec_command(). Tested-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://lore.kernel.org/r/20240627-ucsi-rework-interface-v4-1-289ddc6874c7@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/typec/ucsi/ucsi.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
index 59eaa49042f4..651c22473472 100644
--- a/drivers/usb/typec/ucsi/ucsi.c
+++ b/drivers/usb/typec/ucsi/ucsi.c
@@ -71,11 +71,6 @@ static int ucsi_read_error(struct ucsi *ucsi, u8 connector_num)
u16 error;
int ret;
- /* Acknowledge the command that failed */
- ret = ucsi_acknowledge(ucsi, false);
- if (ret)
- return ret;
-
command = UCSI_GET_ERROR_STATUS | UCSI_CONNECTOR_NUMBER(connector_num);
ret = ucsi_exec_command(ucsi, command);
if (ret < 0)
@@ -182,13 +177,14 @@ static int ucsi_exec_command(struct ucsi *ucsi, u64 cmd)
}
if (cci & UCSI_CCI_ERROR) {
- if (cmd == UCSI_GET_ERROR_STATUS) {
- ret = ucsi_acknowledge(ucsi, false);
- if (ret)
- return ret;
+ /* Acknowledge the command that failed */
+ ret = ucsi_acknowledge(ucsi, false);
+ if (ret)
+ return ret;
+ if (cmd == UCSI_GET_ERROR_STATUS)
return -EIO;
- }
+
return ucsi_read_error(ucsi, connector_num);
}