diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index 72d3f36ff284695b626ec86e06796ce06df3cdd5..481a2c4ff0cd1efccc851867a0dbf8400aa0cc50 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -489,7 +489,7 @@ static void rxq_refill(struct rx_queue *rxq)
 		skb_reserve(skb, 2);
 	}
 
-	if (rxq->rx_desc_count == 0) {
+	if (rxq->rx_desc_count != rxq->rx_ring_size) {
 		rxq->rx_oom.expires = jiffies + (HZ / 10);
 		add_timer(&rxq->rx_oom);
 	}