aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Stuebner <heiko@sntech.de>2025-08-04 15:07:24 +0200
committerLee Jones <lee@kernel.org>2025-10-01 10:28:14 +0100
commitbf2de43060d528e52e372c63182a94b95c80d305 (patch)
treedf189a4fc3314f507adfda6b32942a7034dcc8d4
parentmfd: qnap-mcu: Include linux/types.h in qnap-mcu.h shared header (diff)
downloadlinux-bf2de43060d528e52e372c63182a94b95c80d305.tar.gz
linux-bf2de43060d528e52e372c63182a94b95c80d305.zip
mfd: qnap-mcu: Handle errors returned from qnap_mcu_write
qnap_mcu_write can return errors and those were not checked before. So do that now. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://lore.kernel.org/r/20250804130726.3180806-3-heiko@sntech.de Signed-off-by: Lee Jones <lee@kernel.org>
-rw-r--r--drivers/mfd/qnap-mcu.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mfd/qnap-mcu.c b/drivers/mfd/qnap-mcu.c
index 47d435c93dbb..e794efb6ecb1 100644
--- a/drivers/mfd/qnap-mcu.c
+++ b/drivers/mfd/qnap-mcu.c
@@ -163,7 +163,11 @@ int qnap_mcu_exec(struct qnap_mcu *mcu,
reply->received = 0;
reinit_completion(&reply->done);
- qnap_mcu_write(mcu, cmd_data, cmd_data_size);
+ ret = qnap_mcu_write(mcu, cmd_data, cmd_data_size);
+ if (ret < 0) {
+ mutex_unlock(&mcu->bus_lock);
+ return ret;
+ }
serdev_device_wait_until_sent(mcu->serdev, msecs_to_jiffies(QNAP_MCU_TIMEOUT_MS));