summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPengyu Luo <mitltlatltl@gmail.com>2025-04-16 01:20:05 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-25 13:20:48 +0200
commite6f9fd8e63ddbb2bff56d2082242c948b8bca53f (patch)
tree8d80100b17e59b063b8c6d724c0420105249dbfe
parentdb476ffab1df60ec18b87ff3b5ebec46f852de37 (diff)
usb: typec: ucsi: huawei_gaokun: add error checking
'cci' may be uninitialized, adding error checking to fix it. Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Closes: https://lore.kernel.org/all/Z_44zoTyLLdXNkKT@stanley.mountain Fixes: 00327d7f2c8c ("usb: typec: ucsi: add Huawei Matebook E Go ucsi driver") Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Link: https://lore.kernel.org/r/20250415172006.126740-1-mitltlatltl@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c b/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c
index 344aa7aeaf02..7b5222081bbb 100644
--- a/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c
+++ b/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c
@@ -359,6 +359,7 @@ static int gaokun_ucsi_notify(struct notifier_block *nb,
unsigned long action, void *data)
{
u32 cci;
+ int ret;
struct gaokun_ucsi *uec = container_of(nb, struct gaokun_ucsi, nb);
switch (action) {
@@ -368,7 +369,10 @@ static int gaokun_ucsi_notify(struct notifier_block *nb,
return NOTIFY_OK;
case EC_EVENT_UCSI:
- gaokun_ucsi_read_cci(uec->ucsi, &cci);
+ ret = gaokun_ucsi_read_cci(uec->ucsi, &cci);
+ if (ret)
+ return NOTIFY_DONE;
+
ucsi_notify_common(uec->ucsi, cci);
if (UCSI_CCI_CONNECTOR(cci))
gaokun_ucsi_handle_no_usb_event(uec, UCSI_CCI_CONNECTOR(cci) - 1);