diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 2d035d795f02ad860848c7133aee5aefe839b7af..c92d1a49886751254aac73153719163f9647ac2c 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c @@ -11690,6 +11690,11 @@ static pci_ers_result_t bnx2x_io_error_detected(struct pci_dev *pdev, netif_device_detach(dev); + if (state == pci_channel_io_perm_failure) { + rtnl_unlock(); + return PCI_ERS_RESULT_DISCONNECT; + } + if (netif_running(dev)) bnx2x_eeh_nic_unload(bp);