On Thu, May 18, 2023 at 3:36 AM Pavan Chebbi <pavan.chebbi@xxxxxxxxxxxx> wrote:
On Thu, May 18, 2023 at 12:58 PM Ying Hsu <yinghsu@xxxxxxxxxxxx> wrote:
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 58872a4c2540..a8b217368ca1 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -9581,6 +9581,11 @@ static pci_ers_result_t igb_io_error_detected(struct pci_dev *pdev,
struct net_device *netdev = pci_get_drvdata(pdev);
struct igb_adapter *adapter = netdev_priv(netdev);
+ if (state == pci_channel_io_normal) {
+ dev_warn(&pdev->dev, "Non-correctable non-fatal error reported.\n");
+ return PCI_ERS_RESULT_CAN_RECOVER;
+ }
+
This code may be good to have. But not sure if this should be the fix
for igb_down() synchronization.
I have the same opinion. This appears to solve the problem - but I
don't know if there is a better way to solve this problem.
Intel guys may comment.
Ping? Can we please get feedback from IGB/IGC maintainers this week?
(I hope igc maintainers can confirm this isn't an issue for igc.)
cheers,
grant
netif_device_detach(netdev);
if (state == pci_channel_io_perm_failure)
--
2.40.1.606.ga4b1b128d6-goog