Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

net: txgbe: Fix pending interrupt

For unknown reasons, sometimes the value of MISC interrupt is 0 in the
IRQ handle function. In this case, wx_intr_enable() is also should be
invoked to clear the interrupt. Otherwise, the next interrupt would
never be reported.

Fixes: a9843689e2de ("net: txgbe: add sriov function support")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/F4F708403CE7090B+20250512100652.139510-1-jiawenwu@trustnetic.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Jiawen Wu and committed by
Jakub Kicinski
904c6ad8 c20219ee

+1 -6
+1 -6
drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c
··· 112 112 113 113 if (wx->pdev->msix_enabled) { 114 114 eicr = wx_misc_isb(wx, WX_ISB_MISC); 115 - if (!eicr) 116 - return IRQ_NONE; 117 115 txgbe->eicr = eicr; 118 116 if (eicr & TXGBE_PX_MISC_IC_VF_MBOX) { 119 117 wx_msg_task(txgbe->wx); ··· 137 139 q_vector = wx->q_vector[0]; 138 140 napi_schedule_irqoff(&q_vector->napi); 139 141 140 - eicr = wx_misc_isb(wx, WX_ISB_MISC); 141 - if (!eicr) 142 - return IRQ_NONE; 143 - txgbe->eicr = eicr; 142 + txgbe->eicr = wx_misc_isb(wx, WX_ISB_MISC); 144 143 145 144 return IRQ_WAKE_THREAD; 146 145 }