2005-12-09 12:10:49

by Jens Axboe

[permalink] [raw]
Subject: 2.6.15-rc5 spits oodles of hw csum failures

Hi,

Just booted -rc5 on another one of my boxes, and I get literally tons of
these everytime there's some network activity:

printk: 300 messages suppressed.
<NULL>: hw csum failure.

Call Trace: <IRQ> <ffffffff80357463>{__skb_checksum_complete+76}
<ffffffff80381e89>{tcp_rcv_established+1384}
<ffffffff80388ee9>{tcp_v4_d}
<ffffffff8038a4ee>{tcp_v4_rcv+2285}
<ffffffff8036f59f>{ip_local_deliver+}
<ffffffff8036f480>{ip_rcv+1043}
<ffffffff8035bc0a>{netif_receive_skb+460}
<ffffffff8035bd08>{process_backlog+142}
<ffffffff8035a8a5>{net_rx_action}
<ffffffff8013641e>{__do_softirq+100}
<ffffffff8010ef9b>{call_softirq+31}
<ffffffff8011028c>{do_softirq+44} <ffffffff801102c4>{do_IRQ+52}
<ffffffff8010df9a>{ret_from_intr+0} <EOI>
<ffffffff8010c4a3>{default_id}
<ffffffff8010c547>{cpu_idle+97}
<ffffffff806327d5>{start_kernel+389}
<ffffffff8063225e>{_sinittext+606}

The box is using the sk98lin driver.

--
Jens Axboe


2005-12-09 17:57:40

by Stephen Hemminger

[permalink] [raw]
Subject: Re: 2.6.15-rc5 spits oodles of hw csum failures

You missed this patch that I posted just after Linus left for parts unknown.

Index: linux-2.6/drivers/net/sk98lin/skge.c
===================================================================
--- linux-2.6.orig/drivers/net/sk98lin/skge.c
+++ linux-2.6/drivers/net/sk98lin/skge.c
@@ -818,7 +818,7 @@ uintptr_t VNextDescr; /* the virtual bus
/* 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;

2005-12-11 05:29:48

by Serge de Souza

[permalink] [raw]
Subject: Re:2.6.15-rc5 spits oodles of hw csum failures

Jens Axboe wrote:
>Hi,

>Just booted -rc5 on another one of my boxes, and I get literally tons of
>these everytime there's some network activity:

>printk: 300 messages suppressed.
> <NULL>: hw csum failure.

<snip>

> The box is using the sk98lin driver.


Please check

http://bugzilla.kernel.org/show_bug.cgi?id=5707

For a patch.

I could not find the patch in Linus's tree, it probably should be there
for 2.6.1.

Serge