Skip to content

Commit 51302f7

Browse files
grygoriySdavem330
authored andcommitted
net: ethernet: ti: cpsw: fix extra rx interrupt
Now RX interrupt is triggered twice every time, because in cpsw_rx_interrupt() it is asked first and then disabled. So there will be pending interrupt always, when RX interrupt is enabled again in NAPI handler. Fix it by first disabling IRQ and then do ask. Fixes: 870915f ("drivers: net: cpsw: remove disable_irq/enable_irq as irq can be masked from cpsw itself") Signed-off-by: Grygorii Strashko <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 501a90c commit 51302f7

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/net/ethernet/ti/cpsw_priv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,8 @@ irqreturn_t cpsw_rx_interrupt(int irq, void *dev_id)
100100
{
101101
struct cpsw_common *cpsw = dev_id;
102102

103-
cpdma_ctlr_eoi(cpsw->dma, CPDMA_EOI_RX);
104103
writel(0, &cpsw->wr_regs->rx_en);
104+
cpdma_ctlr_eoi(cpsw->dma, CPDMA_EOI_RX);
105105

106106
if (cpsw->quirk_irq) {
107107
disable_irq_nosync(cpsw->irqs_table[0]);

0 commit comments

Comments
 (0)