diff options
Diffstat (limited to 'drivers/net/ethernet/xilinx/xilinx_axienet_main.c')
| -rw-r--r-- | drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 13 | 
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index 1ec65feebb9e..4bfdf8c7ada0 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -26,6 +26,7 @@  #include <linux/netdevice.h>  #include <linux/of_mdio.h>  #include <linux/of_platform.h> +#include <linux/of_irq.h>  #include <linux/of_address.h>  #include <linux/skbuff.h>  #include <linux/spinlock.h> @@ -600,7 +601,8 @@ static void axienet_start_xmit_done(struct net_device *ndev)  		size += status & XAXIDMA_BD_STS_ACTUAL_LEN_MASK;  		packets++; -		lp->tx_bd_ci = ++lp->tx_bd_ci % TX_BD_NUM; +		++lp->tx_bd_ci; +		lp->tx_bd_ci %= TX_BD_NUM;  		cur_p = &lp->tx_bd_v[lp->tx_bd_ci];  		status = cur_p->status;  	} @@ -686,7 +688,8 @@ static int axienet_start_xmit(struct sk_buff *skb, struct net_device *ndev)  				     skb_headlen(skb), DMA_TO_DEVICE);  	for (ii = 0; ii < num_frag; ii++) { -		lp->tx_bd_tail = ++lp->tx_bd_tail % TX_BD_NUM; +		++lp->tx_bd_tail; +		lp->tx_bd_tail %= TX_BD_NUM;  		cur_p = &lp->tx_bd_v[lp->tx_bd_tail];  		frag = &skb_shinfo(skb)->frags[ii];  		cur_p->phys = dma_map_single(ndev->dev.parent, @@ -702,7 +705,8 @@ static int axienet_start_xmit(struct sk_buff *skb, struct net_device *ndev)  	tail_p = lp->tx_bd_p + sizeof(*lp->tx_bd_v) * lp->tx_bd_tail;  	/* Start the transfer */  	axienet_dma_out32(lp, XAXIDMA_TX_TDESC_OFFSET, tail_p); -	lp->tx_bd_tail = ++lp->tx_bd_tail % TX_BD_NUM; +	++lp->tx_bd_tail; +	lp->tx_bd_tail %= TX_BD_NUM;  	return NETDEV_TX_OK;  } @@ -774,7 +778,8 @@ static void axienet_recv(struct net_device *ndev)  		cur_p->status = 0;  		cur_p->sw_id_offset = (u32) new_skb; -		lp->rx_bd_ci = ++lp->rx_bd_ci % RX_BD_NUM; +		++lp->rx_bd_ci; +		lp->rx_bd_ci %= RX_BD_NUM;  		cur_p = &lp->rx_bd_v[lp->rx_bd_ci];  	}  | 
