diff options
author | Vishwas Srivastava <vishu.kernel@gmail.com> | 2016-01-25 21:28:17 +0530 |
---|---|---|
committer | Anatolij Gustschin <agust@denx.de> | 2016-02-06 15:11:57 +0100 |
commit | abbf2d9b56f2583b5f047f64a6efe11c01ef8d4b (patch) | |
tree | ed9ab27baddbc790cf0b4af4c5c5447b01082b70 /drivers/net/davinci_emac.c | |
parent | 1889a7e275c82cfa120004595a652e834c3723e1 (diff) | |
download | u-boot-imx-abbf2d9b56f2583b5f047f64a6efe11c01ef8d4b.zip u-boot-imx-abbf2d9b56f2583b5f047f64a6efe11c01ef8d4b.tar.gz u-boot-imx-abbf2d9b56f2583b5f047f64a6efe11c01ef8d4b.tar.bz2 |
net: fix wrong initialization in davinci-emac driver
emac module of the davinci platform supports only 8 tx and 8
rx channels (total 16). emac driver for davinci platform,
however, while doing initialization of the dma descriptor
head pointers, wrongly initializes the 16 head pointers
(instead of 8) for tx dma and 16 head pointers (insted of 8)
for rx dma, which is wrong. The result is, that this register
initilization spills over the other registers which was not
intended and is undesirable. This patch fixes this problem.
Signed-off-by: Vishwas Srivastava <vishu.kernel@gmail.com>
CC: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'drivers/net/davinci_emac.c')
-rw-r--r-- | drivers/net/davinci_emac.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index 92c3dca..6f2dc8d 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -459,11 +459,11 @@ static int davinci_eth_open(struct eth_device *dev, bd_t *bis) /* Set DMA 8 TX / 8 RX Head pointers to 0 */ addr = &adap_emac->TX0HDP; - for(cnt = 0; cnt < 16; cnt++) + for (cnt = 0; cnt < 8; cnt++) writel(0, addr++); addr = &adap_emac->RX0HDP; - for(cnt = 0; cnt < 16; cnt++) + for (cnt = 0; cnt < 8; cnt++) writel(0, addr++); /* Clear Statistics (do this before setting MacControl register) */ |