On a slot_reset event pci_disable_device() is never called so calling pci_enable_device() will unbalance the enable count. Signed-off-by: Brandon Philips --- drivers/net/e100.c | 2 +- drivers/net/e1000/e1000_main.c | 2 +- drivers/net/ixgb/ixgb_main.c | 2 +- drivers/net/s2io.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) Index: linux-2.6/drivers/net/e100.c =================================================================== --- linux-2.6.orig/drivers/net/e100.c +++ linux-2.6/drivers/net/e100.c @@ -2828,7 +2828,7 @@ static pci_ers_result_t e100_io_slot_res struct net_device *netdev = pci_get_drvdata(pdev); struct nic *nic = netdev_priv(netdev); - if (pci_enable_device(pdev)) { + if (pci_reenable_device(pdev)) { printk(KERN_ERR "e100: Cannot re-enable PCI device after reset.\n"); return PCI_ERS_RESULT_DISCONNECT; } Index: linux-2.6/drivers/net/e1000/e1000_main.c =================================================================== --- linux-2.6.orig/drivers/net/e1000/e1000_main.c +++ linux-2.6/drivers/net/e1000/e1000_main.c @@ -5270,7 +5270,7 @@ static pci_ers_result_t e1000_io_slot_re struct net_device *netdev = pci_get_drvdata(pdev); struct e1000_adapter *adapter = netdev->priv; - if (pci_enable_device(pdev)) { + if (pci_reenable_device(pdev)) { printk(KERN_ERR "e1000: Cannot re-enable PCI device after reset.\n"); return PCI_ERS_RESULT_DISCONNECT; } Index: linux-2.6/drivers/net/ixgb/ixgb_main.c =================================================================== --- linux-2.6.orig/drivers/net/ixgb/ixgb_main.c +++ linux-2.6/drivers/net/ixgb/ixgb_main.c @@ -2294,7 +2294,7 @@ static pci_ers_result_t ixgb_io_slot_res struct net_device *netdev = pci_get_drvdata(pdev); struct ixgb_adapter *adapter = netdev_priv(netdev); - if(pci_enable_device(pdev)) { + if(pci_reenable_device(pdev)) { DPRINTK(PROBE, ERR, "Cannot re-enable PCI device after reset.\n"); return PCI_ERS_RESULT_DISCONNECT; } Index: linux-2.6/drivers/net/s2io.c =================================================================== --- linux-2.6.orig/drivers/net/s2io.c +++ linux-2.6/drivers/net/s2io.c @@ -7833,7 +7833,7 @@ static pci_ers_result_t s2io_io_slot_res struct net_device *netdev = pci_get_drvdata(pdev); struct s2io_nic *sp = netdev->priv; - if (pci_enable_device(pdev)) { + if (pci_reenable_device(pdev)) { printk(KERN_ERR "s2io: " "Cannot re-enable PCI device after reset.\n"); return PCI_ERS_RESULT_DISCONNECT; -- - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html