Hi all experts :
we are using the Intel I350AM2 ( Two GE Ports ) chip to interface the Cortex-A8 SoC from TI through PCIE x 2 bus .
The OS version is Linux 2.6.37
The I350 driver version is 5.0.6
and after some hours , we found the log as below with GDB backtrace info.
igb 0000:01:00.0: Detected Tx Unit Hang
Tx Queue <0>
TDH <c9>
TDT <c9>
next_to_use <c9>
next_to_clean <de>
buffer_info[next_to_clean]
time_stamp <91811>
next_to_watch <ffc17df0>
jiffies <91b40>
desc.status <1568200>
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:258 dev_watchdog+0x148/0x230()
NETDEV WATCHDOG: eth0 (igb): transmit queue 0 timed out
Modules linked in: aur5g8ke_face_lcd avst_digit_audio ti81xxhdmi ti81xxfb vpss osa_kermod syslink
Backtrace:
[<c004cfac>] (dump_backtrace+0x0/0x110) from [<c033900c>] (dump_stack+0x18/0x1c)
r6:c042b298 r5:00000102 r4:c0457df0 r3:60000113
[<c0338ff4>] (dump_stack+0x0/0x1c) from [<c0072910>] (warn_slowpath_common+0x54/0x6c)
[<c00728bc>] (warn_slowpath_common+0x0/0x6c) from [<c00729cc>] (warn_slowpath_fmt+0x38/0x40)
r8:c02c78bc r7:00000100 r6:00000000 r5:c04cb59c r4:cdc0c000
r3:00000009
[<c0072994>] (warn_slowpath_fmt+0x0/0x40) from [<c02c7a04>] (dev_watchdog+0x148/0x230)
r3:cdc0c000 r2:c042b2b0
[<c02c78bc>] (dev_watchdog+0x0/0x230) from [<c007cc1c>] (run_timer_softirq+0x130/0x1c8)
r6:00000100 r5:c0456000 r4:c04b7c40
[<c007caec>] (run_timer_softirq+0x0/0x1c8) from [<c00777b4>] (__do_softirq+0x84/0x114)
[<c0077730>] (__do_softirq+0x0/0x114) from [<c0077ba4>] (irq_exit+0x48/0x98)
[<c0077b5c>] (irq_exit+0x0/0x98) from [<c003f07c>] (asm_do_IRQ+0x7c/0x9c)
[<c003f000>] (asm_do_IRQ+0x0/0x9c) from [<c033aff4>] (__irq_svc+0x34/0xa0)
Exception stack(0xc0457f18 to 0xc0457f60)
7f00: c0496610 00000002
7f20: cbaa8000 5efe1920 cbaa801c c0459040 00000015 c982f8c0 ccd24300 413fc082
7f40: ccd24300 c0457f6c c0457f70 c0457f60 c033b460 c033d01c 60000013 ffffffff
r5:fa200000 r4:ffffffff
[<c033d010>] (atomic_notifier_call_chain+0x0/0x28) from [<c033b460>] (__switch_to+0x2c/0x4c)
[<c0339564>] (schedule+0x0/0x304) from [<c004a69c>] (cpu_idle+0x80/0x90)
[<c004a61c>] (cpu_idle+0x0/0x90) from [<c032d8dc>] (rest_init+0x60/0x78)
r6:c06d0900 r5:c002dd50 r4:c04babbc r3:00000000
[<c032d87c>] (rest_init+0x0/0x78) from [<c0008c08>] (start_kernel+0x264/0x2b8)
[<c00089a4>] (start_kernel+0x0/0x2b8) from [<80008048>] (0x80008048)
---[ end trace bb79dcc8c86613b8 ]---
we have tried to disable the offload option as below but not work , the I350AM2 still hang , btw , we only use the eth0 port now .
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: off
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: off
generic-receive-offload: off
large-receive-offload: off
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off
receive-hashing: on
is there any suggestions on this case ?