Re: [PATCH] EDAC/versalnet: Handle split messages for non-standard errors

From: Borislav Petkov

Date: Wed Oct 29 2025 - 09:08:52 EST


On Thu, Oct 23, 2025 at 05:01:08PM +0530, Shubhrajyoti Datta wrote:
> The current code assumes that only DDR errors have split messages.
> Ensures proper logging of non-standard event errors
> that may be split across multiple messages.
>
> Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xxxxxxx>
> ---
>
> drivers/edac/versalnet_edac.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/edac/versalnet_edac.c b/drivers/edac/versalnet_edac.c
> index fc7e4c43b387..a055f54a389b 100644
> --- a/drivers/edac/versalnet_edac.c
> +++ b/drivers/edac/versalnet_edac.c
> @@ -605,6 +605,12 @@ static int rpmsg_cb(struct rpmsg_device *rpdev, void *data,
> length = result[MSG_ERR_LENGTH];
> offset = result[MSG_ERR_OFFSET];
>
> + for (i = 0 ; i < length; i++) {
> + k = offset + i;
> + j = ERROR_DATA + i;
> + mc_priv->regs[k] = result[j];
> + }
> +
> if (result[TOTAL_ERR_LENGTH] > length) {
> if (!mc_priv->part_len)
> mc_priv->part_len = length;
> @@ -615,11 +621,6 @@ static int rpmsg_cb(struct rpmsg_device *rpdev, void *data,
> * messages the offset indicates the offset from which the data is to
> * be taken
> */

I'm guessing you want to move that comment too?

If so, I can move it - you don't have to resend.

> - for (i = 0 ; i < length; i++) {
> - k = offset + i;
> - j = ERROR_DATA + i;
> - mc_priv->regs[k] = result[j];
> - }a

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette