/* This callback is called after the PCI buss has been reset. Basically, this tries to restart the card from scratch. This is a shortened version of the device probe/discovery code, it resembles the first-half of the () routine.  */
static pci_ers_result_t qlge_io_slot_reset(struct pci_dev *pdev)
/* This callback is called after the PCI buss has been reset. Basically, this tries to restart the card from scratch. This is a shortened version of the device probe/discovery code, it resembles the first-half of the () routine.  */
static pci_ers_result_t qlge_io_slot_reset(struct pci_dev *pdev)
{
	struct net_device *ndev = pci_get_drvdata(pdev);
	struct ql_adapter *qdev = netdev_priv(ndev);
	pdev->error_state = pci_channel_io_normal;
	pci_restore_state(pdev);
	if (pci_enable_device(pdev)) {
		QPRINTK(qdev, IFUP, ERR,
			"Cannot re-enable PCI device after reset.\n");
		return PCI_ERS_RESULT_DISCONNECT;
	}
	pci_set_master(pdev);
	return PCI_ERS_RESULT_RECOVERED;
}