Commit 2ec3de26 authored by Dean Nelson's avatar Dean Nelson Committed by David S. Miller

bnx2: return PCI_ERS_RESULT_DISCONNECT on permanent failure

PCI drivers that implement the struct pci_error_handlers' error_detected
callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is
pci_channel_io_perm_failure. This patch fixes the issue for bnx2.
Signed-off-by: default avatarDean Nelson <dnelson@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0d6ab58d
...@@ -8199,6 +8199,11 @@ static pci_ers_result_t bnx2_io_error_detected(struct pci_dev *pdev, ...@@ -8199,6 +8199,11 @@ static pci_ers_result_t bnx2_io_error_detected(struct pci_dev *pdev,
rtnl_lock(); rtnl_lock();
netif_device_detach(dev); netif_device_detach(dev);
if (state == pci_channel_io_perm_failure) {
rtnl_unlock();
return PCI_ERS_RESULT_DISCONNECT;
}
if (netif_running(dev)) { if (netif_running(dev)) {
bnx2_netif_stop(bp); bnx2_netif_stop(bp);
del_timer_sync(&bp->timer); del_timer_sync(&bp->timer);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment