| From 95182e43d089e4bacb90726bd2c629d7a79df05e Mon Sep 17 00:00:00 2001 |
| From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> |
| Date: Tue, 10 Jun 2014 09:40:24 +0900 |
| Subject: net: sh_eth: Fix timing of RACT setting in sh_eth_rx() |
| |
| This patch fixes an issue that we cannot use nfs rootfs correctly |
| on r8a7790 when the command below runs on a host PC. |
| |
| $ sudo ping -f -l 8 $BOARD_IP_ADDR |
| |
| Since the driver sets the RACT to 1 in the first while loop of |
| sh_eth_rx(), the controller accepts a next frame into the next RX |
| descriptor during the while loop. But, in the first while loop |
| doesn't allocate a next skb. So, this patch removes the RACT setting |
| in the first while loop of sh_eth_rx(). |
| |
| Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| (cherry picked from commit 1b72a0fc9c308d9f3255c177945cf383c3c82b0e) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/net/ethernet/renesas/sh_eth.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c |
| index 1b34ac0a2420..10af820e1d45 100644 |
| --- a/drivers/net/ethernet/renesas/sh_eth.c |
| +++ b/drivers/net/ethernet/renesas/sh_eth.c |
| @@ -1460,7 +1460,6 @@ static int sh_eth_rx(struct net_device *ndev, u32 intr_status, int *quota) |
| ndev->stats.rx_packets++; |
| ndev->stats.rx_bytes += pkt_len; |
| } |
| - rxdesc->status |= cpu_to_edmac(mdp, RD_RACT); |
| entry = (++mdp->cur_rx) % mdp->num_rx_ring; |
| rxdesc = &mdp->rx_ring[entry]; |
| } |
| -- |
| 2.1.2 |
| |