aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/edac')
-rw-r--r--drivers/edac/edac_pci_sysfs.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/edac/edac_pci_sysfs.c b/drivers/edac/edac_pci_sysfs.c
index 5b075da99145..71c3195d3704 100644
--- a/drivers/edac/edac_pci_sysfs.c
+++ b/drivers/edac/edac_pci_sysfs.c
@@ -558,8 +558,10 @@ static void edac_pci_dev_parity_test(struct pci_dev *dev)
558 558
559 debugf4("PCI STATUS= 0x%04x %s\n", status, dev->dev.bus_id); 559 debugf4("PCI STATUS= 0x%04x %s\n", status, dev->dev.bus_id);
560 560
561 /* check the status reg for errors */ 561 /* check the status reg for errors on boards NOT marked as broken
562 if (status) { 562 * if broken, we cannot trust any of the status bits
563 */
564 if (status && !dev->broken_parity_status) {
563 if (status & (PCI_STATUS_SIG_SYSTEM_ERROR)) { 565 if (status & (PCI_STATUS_SIG_SYSTEM_ERROR)) {
564 edac_printk(KERN_CRIT, EDAC_PCI, 566 edac_printk(KERN_CRIT, EDAC_PCI,
565 "Signaled System Error on %s\n", 567 "Signaled System Error on %s\n",
@@ -593,8 +595,10 @@ static void edac_pci_dev_parity_test(struct pci_dev *dev)
593 595
594 debugf4("PCI SEC_STATUS= 0x%04x %s\n", status, dev->dev.bus_id); 596 debugf4("PCI SEC_STATUS= 0x%04x %s\n", status, dev->dev.bus_id);
595 597
596 /* check the secondary status reg for errors */ 598 /* check the secondary status reg for errors,
597 if (status) { 599 * on NOT broken boards
600 */
601 if (status && !dev->broken_parity_status) {
598 if (status & (PCI_STATUS_SIG_SYSTEM_ERROR)) { 602 if (status & (PCI_STATUS_SIG_SYSTEM_ERROR)) {
599 edac_printk(KERN_CRIT, EDAC_PCI, "Bridge " 603 edac_printk(KERN_CRIT, EDAC_PCI, "Bridge "
600 "Signaled System Error on %s\n", 604 "Signaled System Error on %s\n",