When using no LSC mode, GPIO interrupt can still cause
txgbe_dev_interrupt_delayed_handler() to be called, with
TXGBE_FLAG_NEED_LINK_UPDATE to be set. So add a LSC condition on
intr->mask_misc.

Fixes: 2fc745e6b606 ("net/txgbe: add interrupt operation")
Fixes: d3bb4a04eac1 ("net/txgbe: add SFP hotplug identification")
Cc: sta...@dpdk.org

Signed-off-by: Jiawen Wu <jiawe...@trustnetic.com>
---
 drivers/net/txgbe/txgbe_ethdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c
index a3d7461951..5eff1a766e 100644
--- a/drivers/net/txgbe/txgbe_ethdev.c
+++ b/drivers/net/txgbe/txgbe_ethdev.c
@@ -3232,7 +3232,8 @@ txgbe_dev_interrupt_delayed_handler(void *param)
        }
 
        /* restore original mask */
-       intr->mask_misc |= TXGBE_ICRMISC_LSC;
+       if (dev->data->dev_conf.intr_conf.lsc == 1)
+               intr->mask_misc |= TXGBE_ICRMISC_LSC;
 
        intr->mask = intr->mask_orig;
        intr->mask_orig = 0;
-- 
2.27.0

Reply via email to