diff options
Diffstat (limited to 'drivers/net/e1000e/netdev.c')
-rw-r--r-- | drivers/net/e1000e/netdev.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c index 677f60490f67..63415bb6f48f 100644 --- a/drivers/net/e1000e/netdev.c +++ b/drivers/net/e1000e/netdev.c | |||
@@ -1997,7 +1997,7 @@ static int e1000_clean(struct napi_struct *napi, int budget) | |||
1997 | struct e1000_adapter *adapter = container_of(napi, struct e1000_adapter, napi); | 1997 | struct e1000_adapter *adapter = container_of(napi, struct e1000_adapter, napi); |
1998 | struct e1000_hw *hw = &adapter->hw; | 1998 | struct e1000_hw *hw = &adapter->hw; |
1999 | struct net_device *poll_dev = adapter->netdev; | 1999 | struct net_device *poll_dev = adapter->netdev; |
2000 | int tx_cleaned = 0, work_done = 0; | 2000 | int tx_cleaned = 1, work_done = 0; |
2001 | 2001 | ||
2002 | adapter = netdev_priv(poll_dev); | 2002 | adapter = netdev_priv(poll_dev); |
2003 | 2003 | ||
@@ -4785,6 +4785,9 @@ static pci_ers_result_t e1000_io_error_detected(struct pci_dev *pdev, | |||
4785 | 4785 | ||
4786 | netif_device_detach(netdev); | 4786 | netif_device_detach(netdev); |
4787 | 4787 | ||
4788 | if (state == pci_channel_io_perm_failure) | ||
4789 | return PCI_ERS_RESULT_DISCONNECT; | ||
4790 | |||
4788 | if (netif_running(netdev)) | 4791 | if (netif_running(netdev)) |
4789 | e1000e_down(adapter); | 4792 | e1000e_down(adapter); |
4790 | pci_disable_device(pdev); | 4793 | pci_disable_device(pdev); |