Commit 71f529e9 authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Lee Jones
Browse files

mfd: qnap-mcu: Improve structure in qnap_mcu_exec



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: default avatarHeiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20250804130726.3180806-5-heiko@sntech.de


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 21c5ffb4
Loading
Loading
Loading
Loading
+9 −10
Original line number Diff line number Diff line
@@ -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);
	}

	crc = qnap_mcu_csum(rx, reply_data_size);
	if (crc != rx[reply_data_size]) {
			dev_err(&mcu->serdev->dev,
				"Invalid Checksum received\n");
		dev_err(&mcu->serdev->dev, "Invalid Checksum received\n");
		return -EIO;
		} else {
			memcpy(reply_data, rx, reply_data_size);
		}
	}

	memcpy(reply_data, rx, reply_data_size);

	return 0;
}
EXPORT_SYMBOL_GPL(qnap_mcu_exec);