Hi Qi,

> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Monday, May 8, 2017 11:58 AM
> To: Zhang, Helin; Lu, Wenzhuo
> Cc: dev@dpdk.org; Zhang, Qi Z; sta...@dpdk.org
> Subject: [PATCH] net/ixgbe: fix LSC interrupt issue
> 
> 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")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Qi Zhang <qi.z.zh...@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 ec667d8..c680aab 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -4107,14 +4107,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 orignal mask */
Acked-by: Wenzhuo Lu <wenzhuo...@intel.com>

Except orignal -> original

Reply via email to