diff options
author | Pengyu Luo <mitltlatltl@gmail.com> | 2025-04-16 01:20:05 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-04-25 13:20:48 +0200 |
commit | e6f9fd8e63ddbb2bff56d2082242c948b8bca53f (patch) | |
tree | 8d80100b17e59b063b8c6d724c0420105249dbfe | |
parent | db476ffab1df60ec18b87ff3b5ebec46f852de37 (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.c | 6 |
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); |