net/bnx2x: fix call to link handling periodic function
authorRasesh Mody <rasesh.mody@cavium.com>
Sat, 29 Sep 2018 05:42:40 +0000 (05:42 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 11 Oct 2018 16:53:48 +0000 (18:53 +0200)
If link handling periodic function is allowed to be called in interrupt
context, the periodic function can get called too frequently and exhaust
the retry credits to check link status.

This change makes sure link handling periodic function is not called in
interrupt context.

Fixes: 540a211084a7 ("bnx2x: driver core")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
drivers/net/bnx2x/bnx2x_ethdev.c

index ae2e60a..0057843 100644 (file)
@@ -131,7 +131,9 @@ bnx2x_interrupt_handler(void *param)
 
        PMD_DEBUG_PERIODIC_LOG(INFO, sc, "Interrupt handled");
 
+       atomic_store_rel_long(&sc->periodic_flags, PERIODIC_STOP);
        bnx2x_interrupt_action(dev);
+       atomic_store_rel_long(&sc->periodic_flags, PERIODIC_GO);
        rte_intr_enable(&sc->pci_dev->intr_handle);
 }