diff options
Diffstat (limited to 'drivers/edac')
-rw-r--r-- | drivers/edac/edac_pci_sysfs.c | 12 |
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", |