diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-12-13 00:07:46 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-12-13 00:07:46 -0500 |
commit | 783e3385a134305d49d7b431df6e591265e7ec14 (patch) | |
tree | 7db0b8f854201e2ad343ea5b1c6fab7c3bca5a9b /drivers/net/sk98lin/skge.c | |
parent | fd803241744ad6e4262b6588c6af89e8fb794098 (diff) | |
parent | 1cf9e8a7865c0ac216034e519cf6b8505055ea50 (diff) |
Merge branch 'upstream-fixes'
Diffstat (limited to 'drivers/net/sk98lin/skge.c')
-rw-r--r-- | drivers/net/sk98lin/skge.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c index e3bdb583600..e5591d33dd2 100644 --- a/drivers/net/sk98lin/skge.c +++ b/drivers/net/sk98lin/skge.c @@ -815,7 +815,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; @@ -2163,10 +2163,12 @@ rx_start: skb_put(pMsg, FrameLength); } /* frame > SK_COPY_TRESHOLD */ - if (pRxPort->RxCsum) { - pMsg->csum = pRxd->TcpSums; - pMsg->ip_summed = CHECKSUM_HW; - } +#ifdef USE_SK_RX_CHECKSUM + pMsg->csum = pRxd->TcpSums & 0xffff; + pMsg->ip_summed = CHECKSUM_HW; +#else + pMsg->ip_summed = CHECKSUM_NONE; +#endif SK_DBG_MSG(NULL, SK_DBGMOD_DRV, 1,("V")); ForRlmt = SK_RLMT_RX_PROTOCOL; |