diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c
index 88a1c5223069df15d185ba22d33aaaa4741cd0bd..590473afb3dc2c7970bea4e096868689a7dcf4bc 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");