[PATCH 0/4] Improve error handling for qnap-mcu transfers

Heiko Stuebner posted 4 patches 4 months, 2 weeks ago
There is a newer version of this series
drivers/mfd/qnap-mcu.c | 55 +++++++++++++++++++++++++++++++++++++++---
1 file changed, 51 insertions(+), 4 deletions(-)
[PATCH 0/4] Improve error handling for qnap-mcu transfers
Posted by Heiko Stuebner 4 months, 2 weeks ago
Digging deeper into how that MCU behaves, I found out it can return
more status codes than the "@0" for "ok".

The additional codes can report a failed checksum verification and
some "general" error for the command execution.

This also explains sporadic command timeout messages, I have seen
over time, when the controller sends an error code while we expect
a longer reply from it.

So while I'm not sure yet why it reports an error, with these changes
we at least handle the error return code in a meaningful way.


Heiko Stuebner (4):
  mfd: qnap-mcu: Calculate the checksum on the actual number of bytes
    received
  mfd: qnap-mcu: Use EPROTO in stead of EIO on checksum errors
  mfd: qnap-mcu: Move checksum verification to its own function
  mfd: qnap-mcu: Add proper error handling for command errors

 drivers/mfd/qnap-mcu.c | 55 +++++++++++++++++++++++++++++++++++++++---
 1 file changed, 51 insertions(+), 4 deletions(-)

-- 
2.47.2
Re: [PATCH 0/4] Improve error handling for qnap-mcu transfers
Posted by Lee Jones 4 months ago
On Tue, 23 Sep 2025, Heiko Stuebner wrote:

> Digging deeper into how that MCU behaves, I found out it can return
> more status codes than the "@0" for "ok".
> 
> The additional codes can report a failed checksum verification and
> some "general" error for the command execution.
> 
> This also explains sporadic command timeout messages, I have seen
> over time, when the controller sends an error code while we expect
> a longer reply from it.
> 
> So while I'm not sure yet why it reports an error, with these changes
> we at least handle the error return code in a meaningful way.
> 
> 
> Heiko Stuebner (4):
>   mfd: qnap-mcu: Calculate the checksum on the actual number of bytes
>     received
>   mfd: qnap-mcu: Use EPROTO in stead of EIO on checksum errors
>   mfd: qnap-mcu: Move checksum verification to its own function
>   mfd: qnap-mcu: Add proper error handling for command errors
> 
>  drivers/mfd/qnap-mcu.c | 55 +++++++++++++++++++++++++++++++++++++++---
>  1 file changed, 51 insertions(+), 4 deletions(-)

Note to self: patches 1-3 look good.

-- 
Lee Jones [李琼斯]