/* Return codes PCI_ERS_RESULT_RECOVERED - the device has been recovered PCI_ERS_RESULT_DISCONNECT - device could not be recovered  */
static pci_ers_result_t lpfc_io_slot_reset(struct pci_dev *pdev)
/* Return codes PCI_ERS_RESULT_RECOVERED - the device has been recovered PCI_ERS_RESULT_DISCONNECT - device could not be recovered  */
static pci_ers_result_t lpfc_io_slot_reset(struct pci_dev *pdev)
{
	struct Scsi_Host *shost = pci_get_drvdata(pdev);
	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
	pci_ers_result_t rc = PCI_ERS_RESULT_DISCONNECT;
	switch (phba->pci_dev_grp) {
	case LPFC_PCI_DEV_LP:
		rc = lpfc_io_slot_reset_s3(pdev);
		break;
	case LPFC_PCI_DEV_OC:
		rc = lpfc_io_slot_reset_s4(pdev);
		break;
	default:
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
				"1428 Invalid PCI device group: 0x%x\n",
				phba->pci_dev_grp);
		break;
	}
	return rc;
}