RE: [PATCH] net: txgbe: use vector 0 for misc interrupts without MSI-X
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: 2026-08-14 01:48:02
Also in:
stable
On Fri, Aug 14, 2026 8:13 AM, diegomancera.dev@gmail.com 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/59215DA27859BC49+20260813073305.360251-1-jiawenwu@trustnetic.com (local)
quoted hunk ↗ jump to hunk
Fixes: e37546ad1f9b ("net: wangxun: revert the adjustment of the IRQ vector sequence") Signed-off-by: Diego Fernando Mancera Gomez <redacted> --- 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.cb/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(intirq, 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