From: Thomas Chou Date: Wed, 7 Oct 2009 14:16:43 +0000 (+0000) Subject: ethoc: clear only pending irqs X-Git-Tag: firefly_0821_release~11864^2~129 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=50c54a57dfbd392e17f1473717b8e125afcb01a3;p=firefly-linux-kernel-4.4.55.git ethoc: clear only pending irqs This patch fixed the problem of dropped packets due to lost of interrupt requests. We should only clear what was pending at the moment we read the irq source reg. Signed-off-by: Thomas Chou Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c index 88a1c5223069..590473afb3dc 100644 --- a/drivers/net/ethoc.c +++ b/drivers/net/ethoc.c @@ -508,7 +508,7 @@ static irqreturn_t ethoc_interrupt(int irq, void *dev_id) return IRQ_NONE; } - ethoc_ack_irq(priv, INT_MASK_ALL); + ethoc_ack_irq(priv, pending); if (pending & INT_MASK_BUSY) { dev_err(&dev->dev, "packet dropped\n");