Pull EDAC fix from Borislav Petkov: "Error reporting fix for synopsys_edac: do not overwrite partial decoded error message (Sherry Sun)" * tag 'edac_urgent-2020-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras: EDAC/synopsys: Do not print an error with back-to-back snprintf() calls
Unified · Split
| @@ -479,20 +479,14 @@ static void handle_error(struct mem_ctl_info *mci, struct synps_ecc_status *p) · 478 unmodified lines | ||
| 479 | 479 | pinf = &p->ceinfo; |
| 480 | 480 | if (!priv->p_data->quirks) { |
| 481 | 481 | snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, |
| 482 | − "DDR ECC error type:%s Row %d Bank %d Col %d ", | |
| 483 | − "CE", pinf->row, pinf->bank, pinf->col); | |
| 484 | − snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, | |
| 485 | − "Bit Position: %d Data: 0x%08x\n", | |
| 482 | + "DDR ECC error type:%s Row %d Bank %d Col %d Bit Position: %d Data: 0x%08x", | |
| 483 | + "CE", pinf->row, pinf->bank, pinf->col, | |
| 486 | 484 | pinf->bitpos, pinf->data); |
| 487 | 485 | } else { |
| 488 | 486 | snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, |
| 489 | − "DDR ECC error type:%s Row %d Bank %d Col %d ", | |
| 490 | − "CE", pinf->row, pinf->bank, pinf->col); | |
| 491 | − snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, | |
| 492 | − "BankGroup Number %d Block Number %d ", | |
| 493 | − pinf->bankgrpnr, pinf->blknr); | |
| 494 | − snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, | |
| 495 | − "Bit Position: %d Data: 0x%08x\n", | |
| 487 | + "DDR ECC error type:%s Row %d Bank %d Col %d BankGroup Number %d Block Number %d Bit Position: %d Data: 0x%08x", | |
| 488 | + "CE", pinf->row, pinf->bank, pinf->col, | |
| 489 | + pinf->bankgrpnr, pinf->blknr, | |
| 496 | 490 | pinf->bitpos, pinf->data); |
| 497 | 491 | } |
| 498 | 492 | |
| @@ -509,10 +503,8 @@ static void handle_error(struct mem_ctl_info *mci, struct synps_ecc_status *p) · 10 unmodified lines | ||
| 509 | 503 | "UE", pinf->row, pinf->bank, pinf->col); |
| 510 | 504 | } else { |
| 511 | 505 | snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, |
| 512 | − "DDR ECC error type :%s Row %d Bank %d Col %d ", | |
| 513 | − "UE", pinf->row, pinf->bank, pinf->col); | |
| 514 | − snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, | |
| 515 | − "BankGroup Number %d Block Number %d", | |
| 506 | + "DDR ECC error type :%s Row %d Bank %d Col %d BankGroup Number %d Block Number %d", | |
| 507 | + "UE", pinf->row, pinf->bank, pinf->col, | |
| 516 | 508 | pinf->bankgrpnr, pinf->blknr); |
| 517 | 509 | } |
| 518 | 510 | |