summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>2024-08-09 17:03:43 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-08-13 10:26:45 +0200
commitd209d1634e6562eafc369b28f8a1f67a2e9e5222 (patch)
tree8f0fe28477d385d0f2e53208702242d0b608eddb
parentusb: xhci: fix duplicate stall handling in handle_tx_event() (diff)
downloadlinux-d209d1634e6562eafc369b28f8a1f67a2e9e5222.tar.xz
linux-d209d1634e6562eafc369b28f8a1f67a2e9e5222.zip
usb: typec: ucsi: Fix the return value of ucsi_run_command()
The command execution routines need to return the amount of data that was transferred when succesful. This fixes an issue where the alternate modes and the power delivery capabilities are not getting registered. Fixes: 5e9c1662a89b ("usb: typec: ucsi: rework command execution functions") Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Link: https://lore.kernel.org/r/20240809150343.286942-1-heikki.krogerus@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/typec/ucsi/ucsi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
index 432a2d6266d7..4039851551c1 100644
--- a/drivers/usb/typec/ucsi/ucsi.c
+++ b/drivers/usb/typec/ucsi/ucsi.c
@@ -137,7 +137,7 @@ static int ucsi_run_command(struct ucsi *ucsi, u64 command, u32 *cci,
if (ret)
return ret;
- return err;
+ return err ?: UCSI_CCI_LENGTH(*cci);
}
static int ucsi_read_error(struct ucsi *ucsi, u8 connector_num)