/* This routine is registered to the PCI subsystem for error handling. It is called when kernel error recovery tells the lpfc driver that it is OK to resume normal PCI operation after PCI bus error recovery. When this routine is invoked, it dispatches the action to the proper SLI-3 or SLI-4 device io_resume routine, which will resume the device operation.  */
static void lpfc_io_resume(struct pci_dev *pdev)
/* This routine is registered to the PCI subsystem for error handling. It is called when kernel error recovery tells the lpfc driver that it is OK to resume normal PCI operation after PCI bus error recovery. When this routine is invoked, it dispatches the action to the proper SLI-3 or SLI-4 device io_resume routine, which will resume the device operation.  */
static void lpfc_io_resume(struct pci_dev *pdev)
{
	struct Scsi_Host *shost = pci_get_drvdata(pdev);
	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
	switch (phba->pci_dev_grp) {
	case LPFC_PCI_DEV_LP:
		lpfc_io_resume_s3(pdev);
		break;
	case LPFC_PCI_DEV_OC:
		lpfc_io_resume_s4(pdev);
		break;
	default:
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
				"1429 Invalid PCI device group: 0x%x\n",
				phba->pci_dev_grp);
		break;
	}
	return;
}