aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sk98lin
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2005-12-05 11:00:40 -0800
committerJeff Garzik <jgarzik@pobox.com>2005-12-06 04:43:40 -0500
commit92f268e034faf793f6d40de2f0fc81478a14ff39 (patch)
tree8983344799b050f7394e3d85413576b6a63842b3 /drivers/net/sk98lin
parent436b0f76f2cee6617f27a649637766628909dd5d (diff)
downloadkernel_samsung_aries-92f268e034faf793f6d40de2f0fc81478a14ff39.zip
kernel_samsung_aries-92f268e034faf793f6d40de2f0fc81478a14ff39.tar.gz
kernel_samsung_aries-92f268e034faf793f6d40de2f0fc81478a14ff39.tar.bz2
[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 00c5d7f..ae73439 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;