aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_init.c
diff options
context:
space:
mode:
authorJames Smart <James.Smart@Emulex.Com>2008-08-24 21:50:11 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-10-13 09:28:54 -0400
commita8e497d51e6adb2dd6ef307ae76f3433a4dbe895 (patch)
tree35c1a66bcd2fc8903cc7f25cfbafb919f5cd7b9a /drivers/scsi/lpfc/lpfc_init.c
parent84774a4d0a4dba8a5767da6c58ea5a8c5b0cfe25 (diff)
[SCSI] lpfc 8.2.8 : Add support for PCI-EEH permanent disabling
Add support for PCI-EEH permanent-disabling a device via lpfc_pci_remove_one() Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 41a8c13e6950..333166b17908 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -2661,8 +2661,15 @@ static pci_ers_result_t lpfc_io_error_detected(struct pci_dev *pdev,
2661 struct lpfc_sli *psli = &phba->sli; 2661 struct lpfc_sli *psli = &phba->sli;
2662 struct lpfc_sli_ring *pring; 2662 struct lpfc_sli_ring *pring;
2663 2663
2664 if (state == pci_channel_io_perm_failure) 2664 if (state == pci_channel_io_perm_failure) {
2665 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
2666 "0472 PCI channel I/O permanent failure\n");
2667 /* Block all SCSI devices' I/Os on the host */
2668 lpfc_scsi_dev_block(phba);
2669 /* Clean up all driver's outstanding SCSI I/Os */
2670 lpfc_sli_flush_fcp_rings(phba);
2665 return PCI_ERS_RESULT_DISCONNECT; 2671 return PCI_ERS_RESULT_DISCONNECT;
2672 }
2666 2673
2667 pci_disable_device(pdev); 2674 pci_disable_device(pdev);
2668 /* 2675 /*