[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4EC23EE7.2010606@intel.com>
Date: Tue, 15 Nov 2011 18:28:55 +0800
From: "Yan, Zheng" <zheng.z.yan@...el.com>
To: Martin Volf <martin.volf.42@...il.com>
CC: "shemminger@...ux-foundation.org" <shemminger@...ux-foundation.org>,
"bridge@...ts.linux-foundation.org"
<bridge@...ts.linux-foundation.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"davem@...emloft.net" <davem@...emloft.net>,
"wcang@....wide.ad.jp" <wcang@....wide.ad.jp>
Subject: Re: sky2 hw csum failure
On 11/15/2011 05:05 PM, Martin Volf wrote:
> Hello,
>
> since 3.0.6 I get many "eth0: hw csum failure" messages in dmesg
> followed by a call trace (see at the end). 3.0.4 is OK, 3.1.1 is not.
>
> When I revert the "bridge: Pseudo-header required for the checksum of
> ICMPv6" commit, 4b275d7efa1c4412f0d572fcd7f78ed0919370b3, in 3.1.1,
> the messages would not occur.
>
> I have two sky2 interfaces bridged together and I use IPv6, but not
> MLD. Most of the time only one interface is connected, the message
> occurs for either of them. Another machine with bridged e1000 and
> r8169 interfaces is OK even without the revert.
>
> Let me know, if more information is needed to create the correct fix.
>
> Martin Volf
>
> --
>
> HW info from 3.1.1 with the commit reverted:
>
> uname -mp
>
> x86_64 Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
>
> dmesg | fgrep sky2
>
> [ 11.226565] sky2: driver version 1.29
> [ 11.226601] sky2 0000:04:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
> [ 11.226614] sky2 0000:04:00.0: setting latency timer to 64
> [ 11.226644] sky2 0000:04:00.0: Yukon-2 EC Ultra chip revision 3
> [ 11.226719] sky2 0000:04:00.0: irq 47 for MSI/MSI-X
> [ 11.227327] sky2 0000:04:00.0: eth0: addr 00:22:15:98:82:ae
> [ 11.227338] sky2 0000:03:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
> [ 11.227346] sky2 0000:03:00.0: setting latency timer to 64
> [ 11.227366] sky2 0000:03:00.0: Yukon-2 EC Ultra chip revision 3
> [ 11.227436] sky2 0000:03:00.0: irq 48 for MSI/MSI-X
> [ 11.227625] sky2 0000:03:00.0: eth1: addr 00:22:15:98:92:e1
> [ 31.809358] sky2 0000:03:00.0: eth1: enabling interface
> [ 31.816587] sky2 0000:04:00.0: eth0: enabling interface
> [ 34.196835] sky2 0000:04:00.0: eth0: Link is up at 1000 Mbps, full
> duplex, flow control both
>
> ethtool -k eth0 (same for eth1)
>
> Offload parameters for eth0:
> rx-checksumming: on
> tx-checksumming: on
> scatter-gather: on
> tcp-segmentation-offload: on
> udp-fragmentation-offload: off
> generic-segmentation-offload: on
> generic-receive-offload: on
> large-receive-offload: off
> rx-vlan-offload: on
> tx-vlan-offload: on
> ntuple-filters: off
> receive-hashing: on
>
> lspci -vvvxxx
> 03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056
> PCI-E Gigabit Ethernet Controller (rev 12)
> Subsystem: ASUSTeK Computer Inc. Device 81f8
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
> ParErr- Stepping- SERR- FastB2B- DisINTx+
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0, Cache Line Size: 32 bytes
> Interrupt: pin A routed to IRQ 48
> Region 0: Memory at fe9fc000 (64-bit, non-prefetchable) [size=16K]
> Region 2: I/O ports at c800 [size=256]
> Expansion ROM at fe9c0000 [disabled] [size=128K]
> Capabilities: [48] Power Management version 3
> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
> PME(D0+,D1+,D2+,D3hot+,D3cold+)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
> Capabilities: [50] Vital Product Data
> Product Name: Marvell Yukon 88E8056 Gigabit Ethernet Controller
> Read-only fields:
> [PN] Part number: Yukon 88E8056
> [EC] Engineering changes: Rev. 1.2
> [MN] Manufacture ID: 4d 61 72 76 65 6c 6c
> [SN] Serial number: AbCdEfG9892E1
> [CP] Extended capability: 01 10 cc 03
> [RV] Reserved: checksum good, 9 byte(s) reserved
> Read/write fields:
> [RW] Read-write area: 121 byte(s) free
> End
> Capabilities: [5c] MSI: Enable+ Count=1/1 Maskable- 64bit+
> Address: 00000000fee0300c Data: 4199
> Capabilities: [e0] Express (v1) Legacy Endpoint, MSI 00
> DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
> unlimited, L1 unlimited
> ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
> DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
> Unsupported-
> RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
> MaxPayload 128 bytes, MaxReadReq 512 bytes
> DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+
> AuxPwr+ TransPend-
> LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1,
> Latency L0 <256ns, L1 unlimited
> ClockPM+ Surprise- LLActRep- BwNot-
> LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
> SlotClk+ DLActive- BWMgmt- ABWMgmt-
> Capabilities: [100 v1] Advanced Error Reporting
> UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
> CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
> CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
> AERCap: First Error Pointer: 1f, GenCap- CGenEn- ChkCap- ChkEn-
> Kernel driver in use: sky2
> Kernel modules: sky2
> 00: ab 11 64 43 07 04 10 00 12 00 00 02 08 00 00 00
> 10: 04 c0 9f fe 00 00 00 00 01 c8 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 43 10 f8 81
> 30: 00 00 9c fe 48 00 00 00 00 00 00 00 05 01 00 00
> 40: 00 00 f0 01 00 80 a0 01 01 50 03 fe 00 20 00 13
> 50: 03 5c fc 80 00 00 00 78 00 00 00 01 05 e0 81 00
> 60: 0c 30 e0 fe 00 00 00 00 99 41 00 00 00 00 00 00
> 70: 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 80: 00 00 00 00 00 70 00 00 00 00 00 00 82 a8 e8 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 10 00 11 00 c0 8f 28 00 00 20 19 00 11 ac 07 00
> f0: 08 00 11 10 00 00 00 00 00 00 00 00 00 00 00 00
>
> Call trace:
>
> [ 64.240856] eth1: hw csum failure.
> [ 64.240860] Pid: 0, comm: swapper Not tainted 3.1.1 #1
> [ 64.240862] Call Trace:
> [ 64.240864] <IRQ> [<ffffffff812acebf>] ? netdev_rx_csum_fault+0x29/0x31
> [ 64.240875] [<ffffffff812a8e42>] ? __skb_checksum_complete_head+0x44/0x59
> [ 64.240884] [<ffffffffa0174ea7>] ? br_multicast_rcv+0x7fc/0xc3f [bridge]
> [ 64.240888] [<ffffffff81095c16>] ? dma_pool_alloc+0x267/0x279
> [ 64.240893] [<ffffffff8102177d>] ? check_preempt_curr+0x38/0x61
> [ 64.240898] [<ffffffffa016e187>] ? NF_HOOK.clone.4+0x56/0x56 [bridge]
> [ 64.240903] [<ffffffff812d1472>] ? nf_hook_slow+0x73/0x111
> [ 64.240908] [<ffffffffa016e187>] ? NF_HOOK.clone.4+0x56/0x56 [bridge]
> [ 64.240914] [<ffffffffa0172706>] ? br_nf_forward_finish+0x95/0x95 [bridge]
> [ 64.240919] [<ffffffffa016e205>] ?
> br_handle_frame_finish+0x7e/0x1f3 [bridge]
> [ 64.240925] [<ffffffffa017278f>] ?
> br_nf_pre_routing_finish_ipv6+0x89/0x92 [bridge]
> [ 64.240931] [<ffffffffa0171efe>] ? setup_pre_routing+0x38/0x5d [bridge]
> [ 64.240936] [<ffffffffa0172f65>] ? br_nf_pre_routing+0x3bb/0x3cb [bridge]
> [ 64.240940] [<ffffffff81026f31>] ? find_busiest_group+0x1fc/0x851
> [ 64.240943] [<ffffffff810242c4>] ? enqueue_task_fair+0x126/0x219
> [ 64.240947] [<ffffffff812d13c9>] ? nf_iterate+0x41/0x77
> [ 64.240952] [<ffffffffa016e187>] ? NF_HOOK.clone.4+0x56/0x56 [bridge]
> [ 64.240957] [<ffffffffa016e187>] ? NF_HOOK.clone.4+0x56/0x56 [bridge]
> [ 64.240961] [<ffffffff812d1472>] ? nf_hook_slow+0x73/0x111
> [ 64.240966] [<ffffffffa016e187>] ? NF_HOOK.clone.4+0x56/0x56 [bridge]
> [ 64.240971] [<ffffffffa016e187>] ? NF_HOOK.clone.4+0x56/0x56 [bridge]
> [ 64.240976] [<ffffffffa016e16d>] ? NF_HOOK.clone.4+0x3c/0x56 [bridge]
> [ 64.240982] [<ffffffffa016e529>] ? br_handle_frame+0x1af/0x1c6 [bridge]
> [ 64.240987] [<ffffffffa016e37a>] ?
> br_handle_frame_finish+0x1f3/0x1f3 [bridge]
> [ 64.240990] [<ffffffff812af07b>] ? __netif_receive_skb+0x26a/0x3b1
> [ 64.240994] [<ffffffff812af34e>] ? netif_receive_skb+0x52/0x58
> [ 64.240997] [<ffffffff812af7fe>] ? napi_gro_receive+0x1f/0x2f
> [ 64.241000] [<ffffffff812af425>] ? napi_skb_finish+0x1c/0x31
> [ 64.241011] [<ffffffffa001459e>] ? sky2_poll+0x784/0x999 [sky2]
> [ 64.241015] [<ffffffff812af8da>] ? net_rx_action+0x61/0x117
> [ 64.241019] [<ffffffff81031164>] ? __do_softirq+0x7f/0x106
> [ 64.241023] [<ffffffff8135af8c>] ? call_softirq+0x1c/0x30
> [ 64.241027] [<ffffffff8100365a>] ? do_softirq+0x31/0x67
> [ 64.241030] [<ffffffff81031390>] ? irq_exit+0x3f/0xa3
> [ 64.241033] [<ffffffff810033b7>] ? do_IRQ+0x85/0x9e
> [ 64.241036] [<ffffffff813597ab>] ? common_interrupt+0x6b/0x6b
> [ 64.241038] <EOI> [<ffffffff810081c1>] ? mwait_idle+0x59/0x5c
> [ 64.241044] [<ffffffff8100098a>] ? cpu_idle+0x5c/0x7e
> [ 64.241047] [<ffffffff8166f886>] ? start_kernel+0x304/0x30f
Hi,
I re-tested the checksum code, both CHECKSUM_NONE and CHECKSUM_COMPLETE
cases are OK. Maybe the bug is related to sky2.
Regards
Yan, Zheng
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists