mfd: qnap-mcu: improve structure in qnap_mcu_exec

A patch from »mfd: qnap-mcu: Some fixes / improvements« in state Mainline for linux-kernel

From: Heiko Stuebner <heiko@...> Date: Sat, 26 Jul 2025 23:43:39 +0200

Commit-Message

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@...>

Patch-Comment

drivers/mfd/qnap-mcu.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-)

Statistics

  • 9 lines added
  • 10 lines removed

Changes

---------------------------- drivers/mfd/qnap-mcu.c ----------------------------
index 7bc44c64b7fd..2be429a50611 100644
@@ -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);
 
 

Recent Patches

About Us

Sed lacus. Donec lectus. Nullam pretium nibh ut turpis. Nam bibendum. In nulla tortor, elementum vel, tempor at, varius non, purus. Mauris vitae nisl nec metus placerat consectetuer.

Read More...