[dpdk-stable] patch 'net/ixgbe: fix LSC interrupt' has been queued to stable release 17.02.1
Yuanhan Liu
yuanhan.liu at linux.intel.com
Thu May 25 11:50:07 CEST 2017
Hi,
FYI, your patch has been queued to stable release 17.02.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 05/28/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 592809a417f66c4f53fcb641fb8ceb2af6c0cd69 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang at intel.com>
Date: Sun, 7 May 2017 23:57:33 -0400
Subject: [PATCH] net/ixgbe: fix LSC interrupt
[ upstream commit 491681ed63d52706b4840b7379dcff2be9333203 ]
There is a bug in previous fix for lsc interrupt.
lsc interrupt is not disabled before delayed handler,
that cause the delayed handler be re-entered.
Fixes: 9b667210700e ("net/ixgbe: fix blocked interrupts")
Signed-off-by: Qi Zhang <qi.z.zhang at intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu at intel.com>
---
drivers/net/ixgbe/ixgbe_ethdev.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 22d8a35..dcb9505 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3825,14 +3825,15 @@ ixgbe_dev_interrupt_action(struct rte_eth_dev *dev,
timeout = IXGBE_LINK_DOWN_CHECK_TIMEOUT;
ixgbe_dev_link_status_print(dev);
- intr->mask_original = intr->mask;
- /* only disable lsc interrupt */
- intr->mask &= ~IXGBE_EIMS_LSC;
if (rte_eal_alarm_set(timeout * 1000,
ixgbe_dev_interrupt_delayed_handler, (void *)dev) < 0)
PMD_DRV_LOG(ERR, "Error setting alarm");
- else
- intr->mask = intr->mask_original;
+ else {
+ /* remember original mask */
+ intr->mask_original = intr->mask;
+ /* only disable lsc interrupt */
+ intr->mask &= ~IXGBE_EIMS_LSC;
+ }
}
PMD_DRV_LOG(DEBUG, "enable intr immediately");
--
1.9.0
More information about the stable
mailing list