summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2013-10-22 12:03:41 +0200
committerDaniel Hellstrom <daniel@gaisler.com>2013-10-22 12:03:41 +0200
commitb69c0d53e9abd5ef848003ae42ecd327e0e97204 (patch)
treeb220c50180aeba4180d221596fbdc45582c3b19b
parent1fcfb86c390b10408ee9016a5b537f301cb56c69 (diff)
GRETH: avoid hw generated UDP/TCP cksum generation
Hardware generated checksum UDP packets does not work for IP fragmented UDP packets. It seems as if the BSD stack never signals to the GRETH driver to generate or not to generate TCP/UDP checksum for different cases. The GRETH driver never tells the BSD stack about it capabilities either so there is no point generating the cksums in HW when its done in SW any way. This patch disables hardware generated UDP and TCP checksums.
-rw-r--r--c/src/lib/libbsp/sparc/shared/net/greth.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/net/greth.c b/c/src/lib/libbsp/sparc/shared/net/greth.c
index d72158627a..71562a1bc1 100644
--- a/c/src/lib/libbsp/sparc/shared/net/greth.c
+++ b/c/src/lib/libbsp/sparc/shared/net/greth.c
@@ -920,9 +920,9 @@ sendpacket_gbit (struct ifnet *ifp, struct mbuf *m)
/* Wrap around? */
if (dp->tx_ptr < dp->txbufs-1) {
- ctrl = GRETH_TXD_ENABLE | GRETH_TXD_CS;
+ ctrl = GRETH_TXD_ENABLE;
}else{
- ctrl = GRETH_TXD_ENABLE | GRETH_TXD_CS | GRETH_TXD_WRAP;
+ ctrl = GRETH_TXD_ENABLE | GRETH_TXD_WRAP;
}
/* Enable Descriptor */