summaryrefslogtreecommitdiffstats
path: root/drivers/net/mvneta.c
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2016-09-15 12:38:17 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-09-16 09:35:34 +0200
commit1a43860506f293498b989822fb16444c602d0000 (patch)
tree917bc3ebe49b92f516ec77cd632b59b0385122c2 /drivers/net/mvneta.c
parent2b7823e7deeb7ec26d7b3c1b26cabcad9a827e19 (diff)
downloadbarebox-1a43860506f293498b989822fb16444c602d0000.tar.gz
barebox-1a43860506f293498b989822fb16444c602d0000.tar.xz
net: mvneta: clean txdesc before usage
This fixes tx error detection which triggered way too often because the hardware doesn't seem to clear the error bits on success Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/mvneta.c')
-rw-r--r--drivers/net/mvneta.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index 1690f3b576..5c163cebc7 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -395,6 +395,7 @@ static int mvneta_send(struct eth_device *edev, void *data, int len)
/* Flush transmit data */
dma_sync_single_for_device((unsigned long)data, len, DMA_TO_DEVICE);
+ memset(txdesc, 0, sizeof(*txdesc));
/* Fill the Tx descriptor */
txdesc->cmd_sts = MVNETA_TX_L4_CSUM_NOT | MVNETA_TXD_FLZ_DESC;
txdesc->buf_ptr = (u32)data;