From: Stephen Hemminger Date: Mon, 5 Dec 2005 19:00:40 +0000 (-0800) Subject: [PATCH] sk98lin: rx checksum offset not set X-Git-Tag: v2.6.15-rc6~98^2~2 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92f268e034faf793f6d40de2f0fc81478a14ff39;p=linux-2.6 [PATCH] sk98lin: rx checksum offset not set The checksum offsets for receive offload were not being set correctly. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c index 00c5d7f04c..ae73439347 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;