EDAC: Handle empty msg strings when reporting errors
A reported error could look like this [ 226.178315] EDAC MC0: 1 CE on mc#0csrow#0channel#0 (csrow:0 channel:0 page:0x427c0d offset:0xde0 grain:0 syndrome:0x1c6) with two spaces back-to-back due to the msg argument of edac_mc_handle_error being passed on empty by the specific drivers. Handle that. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
This commit is contained in:
parent
4da1b7bfe7
commit
f430d5707a
|
@ -966,20 +966,22 @@ static void edac_ce_error(struct mem_ctl_info *mci,
|
|||
long grain)
|
||||
{
|
||||
unsigned long remapped_page;
|
||||
char *msg_aux = "";
|
||||
|
||||
if (*msg)
|
||||
msg_aux = " ";
|
||||
|
||||
if (edac_mc_get_log_ce()) {
|
||||
if (other_detail && *other_detail)
|
||||
edac_mc_printk(mci, KERN_WARNING,
|
||||
"%d CE %s on %s (%s %s - %s)\n",
|
||||
error_count,
|
||||
msg, label, location,
|
||||
detail, other_detail);
|
||||
"%d CE %s%son %s (%s %s - %s)\n",
|
||||
error_count, msg, msg_aux, label,
|
||||
location, detail, other_detail);
|
||||
else
|
||||
edac_mc_printk(mci, KERN_WARNING,
|
||||
"%d CE %s on %s (%s %s)\n",
|
||||
error_count,
|
||||
msg, label, location,
|
||||
detail);
|
||||
"%d CE %s%son %s (%s %s)\n",
|
||||
error_count, msg, msg_aux, label,
|
||||
location, detail);
|
||||
}
|
||||
edac_inc_ce_error(mci, enable_per_layer_report, pos, error_count);
|
||||
|
||||
|
@ -1014,27 +1016,31 @@ static void edac_ue_error(struct mem_ctl_info *mci,
|
|||
const char *other_detail,
|
||||
const bool enable_per_layer_report)
|
||||
{
|
||||
char *msg_aux = "";
|
||||
|
||||
if (*msg)
|
||||
msg_aux = " ";
|
||||
|
||||
if (edac_mc_get_log_ue()) {
|
||||
if (other_detail && *other_detail)
|
||||
edac_mc_printk(mci, KERN_WARNING,
|
||||
"%d UE %s on %s (%s %s - %s)\n",
|
||||
error_count,
|
||||
msg, label, location, detail,
|
||||
other_detail);
|
||||
"%d UE %s%son %s (%s %s - %s)\n",
|
||||
error_count, msg, msg_aux, label,
|
||||
location, detail, other_detail);
|
||||
else
|
||||
edac_mc_printk(mci, KERN_WARNING,
|
||||
"%d UE %s on %s (%s %s)\n",
|
||||
error_count,
|
||||
msg, label, location, detail);
|
||||
"%d UE %s%son %s (%s %s)\n",
|
||||
error_count, msg, msg_aux, label,
|
||||
location, detail);
|
||||
}
|
||||
|
||||
if (edac_mc_get_panic_on_ue()) {
|
||||
if (other_detail && *other_detail)
|
||||
panic("UE %s on %s (%s%s - %s)\n",
|
||||
msg, label, location, detail, other_detail);
|
||||
panic("UE %s%son %s (%s%s - %s)\n",
|
||||
msg, msg_aux, label, location, detail, other_detail);
|
||||
else
|
||||
panic("UE %s on %s (%s%s)\n",
|
||||
msg, label, location, detail);
|
||||
panic("UE %s%son %s (%s%s)\n",
|
||||
msg, msg_aux, label, location, detail);
|
||||
}
|
||||
|
||||
edac_inc_ue_error(mci, enable_per_layer_report, pos, error_count);
|
||||
|
|
Loading…
Reference in a new issue