EDAC/synopsys: Do not print an error with back-to-back snprintf() calls
authorSherry Sun <sherry.sun@nxp.com>
Thu, 27 Feb 2020 08:34:12 +0000 (16:34 +0800)
committerBorislav Petkov <bp@suse.de>
Thu, 27 Feb 2020 15:44:25 +0000 (16:44 +0100)
commitdfc6014e3b60713f375d0601d7549eed224c4615
treec41eadb7cf89908e42fae1a32d3ae78b45ab15a7
parentf8788d86ab28f61f7b46eb6be375f8a726783636
EDAC/synopsys: Do not print an error with back-to-back snprintf() calls

handle_error() currently calls snprintf() a couple of times in
succession to output the message for a CE/UE, therefore overwriting each
part of the message which was formatted with the previous snprintf()
call. As a result, only the part of the message from the last snprintf()
call will be printed.

The simplest and most effective way to fix this problem is to combine
the whole string into one which to supply to a single snprintf() call.

 [ bp: Massage. ]

Fixes: b500b4a029d57 ("EDAC, synopsys: Add ECC support for ZynqMP DDR controller")
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: James Morse <james.morse@arm.com>
Cc: Manish Narani <manish.narani@xilinx.com>
Link: https://lkml.kernel.org/r/1582792452-32575-1-git-send-email-sherry.sun@nxp.com
drivers/edac/synopsys_edac.c