RE: [PATCH] net: txgbe: use vector 0 for misc interrupts without MSI-X
Jiawen Wu <[email protected]>
| Newsgroups | org.kernel.vger.stable,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Aug 14, 2026 8:13 AM, [email protected] wrote: > In non-MSI-X mode, queue and miscellaneous interrupts share vector 0. > TXGBE_INTR_MISC(wx) instead selects the MSI-X-only miscellaneous vector, > leaving vector 0 masked after it is serviced. Use BIT(0) for the > non-MSI-X fallback at each miscellaneous interrupt unmask site. Hi, Thanks for the fix. I've already submitted the relevant patch[1]. [1] https://lore.kernel.org/all/[email protected] > Fixes: e37546ad1f9b ("net: wangxun: revert the adjustment of the IRQ > vector sequence") > Signed-off-by: Diego Fernando Mancera Gomez <[email protected]> > --- > drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c > b/drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c > index 8746318ad3bc..6b5542cb2161 100644 > --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c > +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c > @@ -31,7 +31,10 @@ void txgbe_irq_enable(struct wx *wx, bool queues) > wr32(wx, WX_PX_MISC_IEN, misc_ien); > > /* unmask interrupt */ > - wx_intr_enable(wx, TXGBE_INTR_MISC(wx)); > + if (wx->pdev->msix_enabled) > + wx_intr_enable(wx, TXGBE_INTR_MISC(wx)); > + else > + wx_intr_enable(wx, BIT(0)); > if (queues) > wx_intr_enable(wx, TXGBE_INTR_QALL(wx)); > } > @@ -183,7 +186,10 @@ static irqreturn_t txgbe_misc_irq_thread_fn(int > irq, void *data) > nhandled++; > } > > - wx_intr_enable(wx, TXGBE_INTR_MISC(wx)); > + if (wx->pdev->msix_enabled) > + wx_intr_enable(wx, TXGBE_INTR_MISC(wx)); > + else > + wx_intr_enable(wx, BIT(0)); > return (nhandled > 0 ? IRQ_HANDLED : IRQ_NONE); > } > -- > 2.54.0.windows.1