]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mfd: qnap-mcu: Improve structure in qnap_mcu_exec
authorHeiko Stuebner <heiko@sntech.de>
Mon, 4 Aug 2025 13:07:26 +0000 (15:07 +0200)
committerLee Jones <lee@kernel.org>
Wed, 1 Oct 2025 09:28:16 +0000 (10:28 +0100)
Now with guard(mutex) in place, we can make the function's structure
a bit easier to read, by removing the nested if-else-clauses.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20250804130726.3180806-5-heiko@sntech.de
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/qnap-mcu.c

index 6875f27151e9c4ce104d9927544be135168a9ca3..4ec1f4cf902f60e518be085273fa936a093bc6b8 100644 (file)
@@ -150,6 +150,7 @@ int qnap_mcu_exec(struct qnap_mcu *mcu,
        size_t length = reply_data_size + QNAP_MCU_CHECKSUM_SIZE;
        struct qnap_mcu_reply *reply = &mcu->reply;
        int ret = 0;
+       u8 crc;
 
        if (length > sizeof(rx)) {
                dev_err(&mcu->serdev->dev, "expected data too big for receive buffer");
@@ -172,18 +173,16 @@ int qnap_mcu_exec(struct qnap_mcu *mcu,
        if (!wait_for_completion_timeout(&reply->done, msecs_to_jiffies(QNAP_MCU_TIMEOUT_MS))) {
                dev_err(&mcu->serdev->dev, "Command timeout\n");
                return -ETIMEDOUT;
-       } else {
-               u8 crc = qnap_mcu_csum(rx, reply_data_size);
-
-               if (crc != rx[reply_data_size]) {
-                       dev_err(&mcu->serdev->dev,
-                               "Invalid Checksum received\n");
-                       return -EIO;
-               } else {
-                       memcpy(reply_data, rx, reply_data_size);
-               }
        }
 
+       crc = qnap_mcu_csum(rx, reply_data_size);
+       if (crc != rx[reply_data_size]) {
+               dev_err(&mcu->serdev->dev, "Invalid Checksum received\n");
+               return -EIO;
+       }
+
+       memcpy(reply_data, rx, reply_data_size);
+
        return 0;
 }
 EXPORT_SYMBOL_GPL(qnap_mcu_exec);