/* This callback is called when the error recovery driver tells us that its OK to resume normal operation. Implementation resembles the second-half of the igbvf_resume routine.  */
static void igbvf_io_resume(struct pci_dev *pdev)
/* This callback is called when the error recovery driver tells us that its OK to resume normal operation. Implementation resembles the second-half of the igbvf_resume routine.  */
static void igbvf_io_resume(struct pci_dev *pdev)
{
	struct net_device *netdev = pci_get_drvdata(pdev);
	struct igbvf_adapter *adapter = netdev_priv(netdev);
	if (netif_running(netdev)) {
		if (igbvf_up(adapter)) {
			dev_err(&pdev->dev,
				"can't bring device back up after reset\n");
			return;
		}
	}
	netif_device_attach(netdev);
}