/* Restart the card from scratch, as if from a cold-boot. At this point, the card has exprienced a hard reset, followed by fixups by BIOS, and has its config space set up identically to what it was at cold boot.  */
static pci_ers_result_t vxge_io_slot_reset(struct pci_dev *pdev)
/* Restart the card from scratch, as if from a cold-boot. At this point, the card has exprienced a hard reset, followed by fixups by BIOS, and has its config space set up identically to what it was at cold boot.  */
static pci_ers_result_t vxge_io_slot_reset(struct pci_dev *pdev)
{
	struct __vxge_hw_device  *hldev =
		(struct __vxge_hw_device  *) pci_get_drvdata(pdev);
	struct net_device *netdev = hldev->ndev;
	struct vxgedev *vdev = netdev_priv(netdev);
	if (pci_enable_device(pdev)) {
		printk(KERN_ERR "%s: "
			"Cannot re-enable device after reset\n",
			VXGE_DRIVER_NAME);
		return PCI_ERS_RESULT_DISCONNECT;
	}
	pci_set_master(pdev);
	vxge_reset(vdev);
	return PCI_ERS_RESULT_RECOVERED;
}