From: Lee Jones <lee@kernel.org>
To: Heiko Stuebner <heiko@sntech.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 4/4] mfd: qnap-mcu: Add proper error handling for command errors
Date: Thu, 13 Nov 2025 16:03:56 +0000 [thread overview]
Message-ID: <20251113160356.GN1949330@google.com> (raw)
In-Reply-To: <20251105234704.159381-5-heiko@sntech.de>
On Thu, 06 Nov 2025, Heiko Stuebner wrote:
> Further investigation revealed that the MCU in QNAP devices may return
> two error states. One "@8" for a checksum error in the submitted command
> and one "@9" for any generic (and sadly unspecified) error.
>
> These error codes with 2 data character can of course also be shorter
> then the expected reply length for the submitted command, so we'll
> need to check the received data for error codes and exit the receive
> portion early in that case.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
> drivers/mfd/qnap-mcu.c | 65 +++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 64 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mfd/qnap-mcu.c b/drivers/mfd/qnap-mcu.c
> index cd836bdd44a8..8c5eb4a72829 100644
> --- a/drivers/mfd/qnap-mcu.c
> +++ b/drivers/mfd/qnap-mcu.c
> @@ -19,6 +19,7 @@
> /* The longest command found so far is 5 bytes long */
> #define QNAP_MCU_MAX_CMD_SIZE 5
> #define QNAP_MCU_MAX_DATA_SIZE 36
> +#define QNAP_MCU_ERROR_SIZE 2
> #define QNAP_MCU_CHECKSUM_SIZE 1
>
> #define QNAP_MCU_RX_BUFFER_SIZE \
> @@ -103,6 +104,47 @@ static int qnap_mcu_write(struct qnap_mcu *mcu, const u8 *data, u8 data_size)
> return serdev_device_write(mcu->serdev, tx, length, HZ);
> }
>
> +static bool qnap_mcu_is_error_msg(size_t size) {
Looks like you forgot to run checkpatch.pl.
> + return (size == QNAP_MCU_ERROR_SIZE + QNAP_MCU_CHECKSUM_SIZE);
> +}
[...]
--
Lee Jones [李琼斯]
next prev parent reply other threads:[~2025-11-13 16:03 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-05 23:47 [PATCH v2 0/4] Improve error handling for qnap-mcu transfers Heiko Stuebner
2025-11-05 23:47 ` [PATCH v2 1/4] mfd: qnap-mcu: Calculate the checksum on the actual number of bytes received Heiko Stuebner
2025-11-05 23:47 ` [PATCH v2 2/4] mfd: qnap-mcu: Use EPROTO in stead of EIO on checksum errors Heiko Stuebner
2025-11-05 23:47 ` [PATCH v2 3/4] mfd: qnap-mcu: Move checksum verification to its own function Heiko Stuebner
2025-11-05 23:47 ` [PATCH v2 4/4] mfd: qnap-mcu: Add proper error handling for command errors Heiko Stuebner
2025-11-13 16:03 ` Lee Jones [this message]
2025-11-20 10:15 ` [PATCH v2 0/4] Improve error handling for qnap-mcu transfers Lee Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251113160356.GN1949330@google.com \
--to=lee@kernel.org \
--cc=heiko@sntech.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.