diff options
Diffstat (limited to 'arch/sparc64/kernel/pci_sabre.c')
-rw-r--r-- | arch/sparc64/kernel/pci_sabre.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/arch/sparc64/kernel/pci_sabre.c b/arch/sparc64/kernel/pci_sabre.c index 863308c8955d..4cefe6e83b24 100644 --- a/arch/sparc64/kernel/pci_sabre.c +++ b/arch/sparc64/kernel/pci_sabre.c | |||
@@ -831,6 +831,7 @@ static void sabre_register_error_handlers(struct pci_pbm_info *pbm) | |||
831 | struct of_device *op; | 831 | struct of_device *op; |
832 | unsigned long base = pbm->controller_regs; | 832 | unsigned long base = pbm->controller_regs; |
833 | u64 tmp; | 833 | u64 tmp; |
834 | int err; | ||
834 | 835 | ||
835 | if (pbm->chip_type == PBM_CHIP_TYPE_SABRE) | 836 | if (pbm->chip_type == PBM_CHIP_TYPE_SABRE) |
836 | dp = dp->parent; | 837 | dp = dp->parent; |
@@ -857,15 +858,24 @@ static void sabre_register_error_handlers(struct pci_pbm_info *pbm) | |||
857 | SABRE_UEAFSR_SDRD | SABRE_UEAFSR_SDWR | | 858 | SABRE_UEAFSR_SDRD | SABRE_UEAFSR_SDWR | |
858 | SABRE_UEAFSR_SDTE | SABRE_UEAFSR_PDTE)); | 859 | SABRE_UEAFSR_SDTE | SABRE_UEAFSR_PDTE)); |
859 | 860 | ||
860 | request_irq(op->irqs[1], sabre_ue_intr, 0, "SABRE_UE", pbm); | 861 | err = request_irq(op->irqs[1], sabre_ue_intr, 0, "SABRE_UE", pbm); |
862 | if (err) | ||
863 | printk(KERN_WARNING "%s: Couldn't register UE, err=%d.\n", | ||
864 | pbm->name, err); | ||
861 | 865 | ||
862 | sabre_write(base + SABRE_CE_AFSR, | 866 | sabre_write(base + SABRE_CE_AFSR, |
863 | (SABRE_CEAFSR_PDRD | SABRE_CEAFSR_PDWR | | 867 | (SABRE_CEAFSR_PDRD | SABRE_CEAFSR_PDWR | |
864 | SABRE_CEAFSR_SDRD | SABRE_CEAFSR_SDWR)); | 868 | SABRE_CEAFSR_SDRD | SABRE_CEAFSR_SDWR)); |
865 | 869 | ||
866 | request_irq(op->irqs[2], sabre_ce_intr, 0, "SABRE_CE", pbm); | 870 | err = request_irq(op->irqs[2], sabre_ce_intr, 0, "SABRE_CE", pbm); |
867 | request_irq(op->irqs[0], sabre_pcierr_intr, 0, | 871 | if (err) |
868 | "SABRE_PCIERR", pbm); | 872 | printk(KERN_WARNING "%s: Couldn't register CE, err=%d.\n", |
873 | pbm->name, err); | ||
874 | err = request_irq(op->irqs[0], sabre_pcierr_intr, 0, | ||
875 | "SABRE_PCIERR", pbm); | ||
876 | if (err) | ||
877 | printk(KERN_WARNING "%s: Couldn't register PCIERR, err=%d.\n", | ||
878 | pbm->name, err); | ||
869 | 879 | ||
870 | tmp = sabre_read(base + SABRE_PCICTRL); | 880 | tmp = sabre_read(base + SABRE_PCICTRL); |
871 | tmp |= SABRE_PCICTRL_ERREN; | 881 | tmp |= SABRE_PCICTRL_ERREN; |