[SCSI] qla2xxx: Clear error status after uncorrectable non-fatal errors.
authorLalit Chandivade <lalit.chandivade@qlogic.com>
Tue, 4 May 2010 22:01:23 +0000 (15:01 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 16 May 2010 22:21:34 +0000 (18:21 -0400)
Currently error status is cleared only after the uncorrectable fatal errors
in the qla2xxx_pci_slot_reset. This fix is added to clear the error status in
qla2xxx_pci_resume. This way for both fatal and non-fatal errors the error
status gets cleared properly.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=572258

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla2xxx/qla_os.c

index b1adeb71a8b041cc3ece0378ff1ae3cdcad8a1a2..f2102db0316060aa64aeebf7e466f4cf475d527e 100644 (file)
@@ -3697,7 +3697,6 @@ qla2xxx_pci_slot_reset(struct pci_dev *pdev)
                ret =  PCI_ERS_RESULT_RECOVERED;
        clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags);
 
-       pci_cleanup_aer_uncorrect_error_status(pdev);
 
        DEBUG17(qla_printk(KERN_WARNING, ha,
            "slot_reset-return:ret=%x\n", ret));
@@ -3721,6 +3720,8 @@ qla2xxx_pci_resume(struct pci_dev *pdev)
                    "from slot/link_reset");
        }
 
+       pci_cleanup_aer_uncorrect_error_status(pdev);
+
        ha->flags.eeh_busy = 0;
 }