can: at91_can: RX queue could get stuck at high bus load
[pandora-kernel.git] / drivers / net / can / at91_can.c
index ab411c3..a42d75c 100644 (file)
@@ -727,9 +727,10 @@ static int at91_poll_rx(struct net_device *dev, int quota)
 
        /* upper group completed, look again in lower */
        if (priv->rx_next > get_mb_rx_low_last(priv) &&
-           quota > 0 && mb > get_mb_rx_last(priv)) {
+           mb > get_mb_rx_last(priv)) {
                priv->rx_next = get_mb_rx_first(priv);
-               goto again;
+               if (quota > 0)
+                       goto again;
        }
 
        return received;