>From: David Marchand <david.march...@redhat.com> >Sent: Tuesday, June 25, 2019 6:39 AM > >---------------------------------------------------------------------- >rte_intr_enable/rte_intr_disable configure the interrupt context on the >kernel side (either uio or vfio). >In VFIO case, calling it from the interrupt handlers triggers an unneeded >interrupt handlers reconfiguration. >During this reconfiguration window, the device can trigger interrupts which >are left unserviced. > >Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1654824 >Fixes: 245aec289338 ("net/qede: fix legacy interrupt mode") >Fixes: 2ea6f76aff40 ("qede: add core driver") >Cc: sta...@dpdk.org > >Signed-off-by: David Marchand <david.march...@redhat.com> >---
Change looks good, thanks. Acked-by: Rasesh Mody <rm...@marvell.com> > drivers/net/qede/qede_ethdev.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > >diff --git a/drivers/net/qede/qede_ethdev.c >b/drivers/net/qede/qede_ethdev.c index 82363e6..807016a 100644 >--- a/drivers/net/qede/qede_ethdev.c >+++ b/drivers/net/qede/qede_ethdev.c >@@ -245,12 +245,8 @@ static void qede_interrupt_action(struct ecore_hwfn >*p_hwfn) > > /* Check if our device actually raised an interrupt */ > status = >ecore_int_igu_read_sisr_reg(ECORE_LEADING_HWFN(edev)); >- if (status & 0x1) { >+ if (status & 0x1) > qede_interrupt_action(ECORE_LEADING_HWFN(edev)); >- >- if (rte_intr_enable(eth_dev->intr_handle)) >- DP_ERR(edev, "rte_intr_enable failed\n"); >- } > } > > static void >@@ -261,8 +257,6 @@ static void qede_interrupt_action(struct ecore_hwfn >*p_hwfn) > struct ecore_dev *edev = &qdev->edev; > > qede_interrupt_action(ECORE_LEADING_HWFN(edev)); >- if (rte_intr_enable(eth_dev->intr_handle)) >- DP_ERR(edev, "rte_intr_enable failed\n"); > } > > static void >-- >1.8.3.1