gianfar: Don't needlessly set the wrap bit for the last RX BD
authorAnton Vorontsov <avorontsov@ru.mvista.com>
Mon, 12 Oct 2009 06:00:33 +0000 (06:00 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Oct 2009 06:54:02 +0000 (23:54 -0700)
startup_gfar() sets the wrap bit for the last rxbd just after
gfar_new_rxbdp() call, which is issued for all rxbds. And
gfar_new_rxbdp() has the following check already:

if (bdp == priv->rx_bd_base + priv->rx_ring_size - 1)
lstatus |= BD_LFLAG(RXBD_WRAP);

So we don't need to set the bit again.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/gianfar.c

index a8b50c9b2d9493d8be5e30a758480823a32c177d..f84974195507dd0ac28628362c791b8f2e91dccd 100644 (file)
@@ -1028,10 +1028,6 @@ int startup_gfar(struct net_device *ndev)
                rxbdp++;
        }
 
-       /* Set the last descriptor in the ring to wrap */
-       rxbdp--;
-       rxbdp->status |= RXBD_WRAP;
-
        /* If the device has multiple interrupts, register for
         * them.  Otherwise, only register for the one */
        if (priv->device_flags & FSL_GIANFAR_DEV_HAS_MULTI_INTR) {