ramips_eth: simplify tx_next computation
authorGabor Juhos <juhosg@openwrt.org>
Sun, 31 Jan 2010 12:48:48 +0000 (12:48 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 31 Jan 2010 12:48:48 +0000 (12:48 +0000)
SVN-Revision: 19444

target/linux/ramips/files/drivers/net/ramips.c

index 3061bccc07893a0ef45f9ff99fc6f256e3bbe4ac..ed748de0d375ea3ee222b4c1b9ea07dea140bcce 100644 (file)
@@ -163,10 +163,7 @@ ramips_eth_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
        dma_sync_single_for_device(NULL, mapped_addr, skb->len, DMA_TO_DEVICE);
        spin_lock_irqsave(&priv->page_lock, flags);
        tx = ramips_fe_rr(RAMIPS_TX_CTX_IDX0);
-       if (tx == NUM_TX_DESC - 1)
-               tx_next = 0;
-       else
-               tx_next = tx + 1;
+       tx_next = (tx + 1) % NUM_TX_DESC;
 
        if ((priv->tx_skb[tx]) || (priv->tx_skb[tx_next]) ||
            !(priv->tx[tx].txd2 & TX_DMA_DONE) ||
@@ -180,7 +177,7 @@ ramips_eth_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
        dev->stats.tx_bytes += skb->len;
        priv->tx_skb[tx] = skb;
        wmb();
-       ramips_fe_wr((tx + 1) % NUM_TX_DESC, RAMIPS_TX_CTX_IDX0);
+       ramips_fe_wr(tx_next, RAMIPS_TX_CTX_IDX0);
        spin_unlock_irqrestore(&priv->page_lock, flags);
        return NETDEV_TX_OK;