summaryrefslogtreecommitdiffstats
path: root/drivers/net/sk98lin
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2005-12-05 20:00:40 +0100
committerJeff Garzik <jgarzik@pobox.com>2005-12-06 10:43:40 +0100
commit92f268e034faf793f6d40de2f0fc81478a14ff39 (patch)
tree8983344799b050f7394e3d85413576b6a63842b3 /drivers/net/sk98lin
parentLinux v2.6.15-rc5 (diff)
downloadlinux-92f268e034faf793f6d40de2f0fc81478a14ff39.tar.xz
linux-92f268e034faf793f6d40de2f0fc81478a14ff39.zip
[PATCH] sk98lin: rx checksum offset not set
The checksum offsets for receive offload were not being set correctly. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net/sk98lin')
-rw-r--r--drivers/net/sk98lin/skge.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c
index 00c5d7f04c68..ae7343934758 100644
--- a/drivers/net/sk98lin/skge.c
+++ b/drivers/net/sk98lin/skge.c
@@ -818,7 +818,7 @@ uintptr_t VNextDescr; /* the virtual bus address of the next descriptor */
/* set the pointers right */
pDescr->VNextRxd = VNextDescr & 0xffffffffULL;
pDescr->pNextRxd = pNextDescr;
- pDescr->TcpSumStarts = 0;
+ if (!IsTx) pDescr->TcpSumStarts = ETH_HLEN << 16 | ETH_HLEN;
/* advance one step */
pPrevDescr = pDescr;
@@ -2169,7 +2169,7 @@ rx_start:
} /* frame > SK_COPY_TRESHOLD */
#ifdef USE_SK_RX_CHECKSUM
- pMsg->csum = pRxd->TcpSums;
+ pMsg->csum = pRxd->TcpSums & 0xffff;
pMsg->ip_summed = CHECKSUM_HW;
#else
pMsg->ip_summed = CHECKSUM_NONE;