Subject: WARNING (skb_gso_segment) with tg3+bridge in 2.6.27

From: Bernhard Schmidt <[email-masked]>
Date: Sat, 11 Oct 2008 19:20:03 +0200

Hello,

I'm getting the following WARNING in my log pretty frequently on my
system (Debian Lenny on a DL320G5) when connectivity is provided with a
bridge interface with eth0 (tg3) attached. System feels a bit sluggish
as well. I did not experience any problems when using eth0 directly.

Happened with both 2.6.26-1-amd64 from Debian and a vanilla 2.6.27, I'm
attaching dmesg and config.

The same warning has been reported in February but received no response
http://thread.gmane.org/gmane.linux.network/85727

[  289.588669] ------------[ cut here ]------------
[  289.588673] WARNING: at net/core/dev.c:1505 skb_gso_segment+0x82/0x1a7()

        if (WARN_ON(skb->ip_summed != CHECKSUM_PARTIAL)) {

[  289.588675] Modules linked in: coretemp kvm_intel kvm video output ac battery ipv6 bridge stp dm_crypt crypto_blkcipher loop snd_pcm snd_timer snd soundcore snd_page_alloc
 ipmi_si iTCO_wdt shpchp hpilo ipmi_msghandler hpwdt pci_hotplug pcspkr serio_raw psmouse container button evdev ext3 jbd mbcache dm_mirror dm_log dm_snapshot dm_mod raid1 md
_mod sg sr_mod sd_mod cdrom usbhid hid ff_memless ata_piix ata_generic libata scsi_mod dock ide_pci_generic ide_core ehci_hcd tg3 uhci_hcd libphy thermal processor fan therma
l_sys
[  289.588717] Pid: 0, comm: swapper Tainted: G        W 2.6.27 #1
[  289.588719]
[  289.588720] Call Trace:
[  289.588721]  <IRQ>  [<ffffffff80238aa5>] warn_on_slowpath+0x51/0x77
[  289.588734]  [<ffffffffa003b245>] tg3_start_xmit_dma_bug+0x85e/0x920 [tg3]
[  289.588738]  [<ffffffff803eb672>] nf_iterate+0x41/0x7d
[  289.588741]  [<ffffffff80212a58>] nommu_map_single+0x0/0x7c
[  289.588748]  [<ffffffffa003b245>] tg3_start_xmit_dma_bug+0x85e/0x920 [tg3]
[  289.588751]  [<ffffffff80443f34>] _spin_lock+0x5/0x7
[  289.588754]  [<ffffffff803d0c9e>] skb_gso_segment+0x82/0x1a7
[  289.588757]  [<ffffffff803d0f46>] dev_hard_start_xmit+0x183/0x244
[  289.588760]  [<ffffffff803d14ab>] dev_queue_xmit+0x3aa/0x462
[  289.588778]  [<ffffffffa024ca8c>] ip6_output+0xce7/0xcff [ipv6]
[  289.588785]  [<ffffffffa023ade0>] br_dev_queue_push_xmit+0x75/0x79 [bridge]
[  289.588792]  [<ffffffffa023a2fe>] br_dev_xmit+0x66/0x7c [bridge]
[  289.588795]  [<ffffffff803d1535>] dev_queue_xmit+0x434/0x462
[  289.588811]  [<ffffffffa024ca8c>] ip6_output+0xce7/0xcff [ipv6]
[  289.588827]  [<ffffffffa024b8b4>] ip6_xmit+0x35c/0x439 [ipv6]
[  289.588848]  [<ffffffffa026d303>] inet6_csk_xmit+0x223/0x236 [ipv6]
[  289.588850]  [<ffffffff80443e8e>] _spin_lock_irqsave+0x21/0x29
[  289.588853]  [<ffffffff804059ff>] tcp_transmit_skb+0x60f/0x64e
[  289.588855]  [<ffffffff8040831a>] __tcp_push_pending_frames+0x768/0x8ae
[  289.588857]  [<ffffffff80404f40>] tcp_current_mss+0x6f/0xe9
[  289.588860]  [<ffffffff8040313e>] tcp_rcv_established+0x118/0xc52
[  289.588873]  [<ffffffffa02567a5>] ip6_pol_route+0x1cb/0x27f [ipv6]
[  289.588886]  [<ffffffffa0267f29>] tcp_v6_do_rcv+0x315/0x5e2 [ipv6]
[  289.588899]  [<ffffffffa0256866>] ip6_pol_route_input+0x0/0x11 [ipv6]
[  289.588913]  [<ffffffffa0270ea1>] fib6_rule_action+0x79/0x184 [ipv6]
[  289.588916]  [<ffffffff803ca4f6>] skb_checksum+0x4c/0x24e
[  289.588919]  [<ffffffff8042fd64>] __inet6_lookup_established+0xd5/0x231
[  289.588933]  [<ffffffffa026933a>] tcp_v6_rcv+0x44d/0x6da [ipv6]
[  289.588946]  [<ffffffffa024cc7b>] ip6_input_finish+0x1d7/0x367 [ipv6]
[  289.588951]  [<ffffffffa023b8b4>] br_handle_frame_finish+0x110/0x148 [bridge]
[  289.588957]  [<ffffffffa023f730>] br_nf_pre_routing_finish_ipv6+0xcf/0xd5 [bridge]
[  289.588962]  [<ffffffffa023fdca>] br_nf_pre_routing+0x3d1/0x69f [bridge]
[  289.588964]  [<ffffffff803eb672>] nf_iterate+0x41/0x7d
[  289.588969]  [<ffffffffa023b7a4>] br_handle_frame_finish+0x0/0x148 [bridge]
[  289.588971]  [<ffffffff803eb70b>] nf_hook_slow+0x5d/0xbe
[  289.588976]  [<ffffffffa023b7a4>] br_handle_frame_finish+0x0/0x148 [bridge]
[  289.588981]  [<ffffffffa023ba87>] br_handle_frame+0x19b/0x1c0 [bridge]
[  289.588983]  [<ffffffff803d0a13>] netif_receive_skb+0x325/0x3fa
[  289.588988]  [<ffffffffa003c455>] tg3_poll+0x745/0x9f2 [tg3]
[  289.588990]  [<ffffffff80443e25>] __lock_text_start+0x5/0xf
[  289.588993]  [<ffffffff803cf2d9>] net_rx_action+0xb5/0x1eb
[  289.588996]  [<ffffffff8025010c>] getnstimeofday+0x38/0x92
[  289.588998]  [<ffffffff8023d974>] __do_softirq+0x6a/0xda
[  289.589001]  [<ffffffff8020d8ec>] call_softirq+0x1c/0x28
[  289.589002]  [<ffffffff8020f3df>] do_softirq+0x3c/0x81
[  289.589004]  [<ffffffff8023d6a5>] irq_exit+0x3f/0x83
[  289.589006]  [<ffffffff8020f641>] do_IRQ+0xb9/0xd6
[  289.589008]  [<ffffffff8020c67e>] ret_from_intr+0x0/0x29
[  289.589009]  <EOI>  [<ffffffff8021355e>] mwait_idle+0x3c/0x46
[  289.589013]  [<ffffffff8020b0dc>] cpu_idle+0x9b/0xe3
[  289.589014]
[  289.589015] ---[ end trace 292952be9757bdf8 ]---

Bernhard