3c59x: shared interrupt problem
From: Gerhard Pircher <hidden>
Date: 2009-03-09 22:42:56
Hi! Large network transfers fail on my machine (with kernel versions
v2.6.26) with the kernel oops below. eth0 (3c59x driver) normally
shares its IRQ line with 3 OHCI USB ports (IRQ 7), as the excerpt of
/proc/interrupt shows. Removing USB support from the kernel makes it
work again. I wasn't able to do a full git bisect run yet, as v2.6.27
didn't produce a bootable kernel image for my machine. The machine is
an AmigaOne PowerPC G4 with an onboard 3c920 network chip.
Any idea?
best regards,
Gerhard
PS: Please put me on CC:, as I'm not subscribed to this mailing list.
/proc/interrupts:
CPU0
1: 1648 i8259 Level i8042
5: 0 i8259 Level uhci_hcd:usb4, uhci_hcd:usb5
6: 4 i8259 Level floppy
7: 236520 i8259 Level ohci_hcd:usb1, ohci_hcd:usb2, ohci_hcd:usb3, eth0
8: 2 i8259 Level rtc0
9: 0 i8259 Level eth2
12: 117 i8259 Level i8042
14: 8277 i8259 Level ide0
15: 17559 i8259 Level ide1
BAD: 1
Kernel log:
Badness at net/sched/sch_generic.c:226
NIP: c0250118 LR: c0250118 CTR: c0013020
REGS: efffde90 TRAP: 0700 Not tainted (2.6.29-rc6)
MSR: 00029032 <EE,ME,CE,IR,DR> CR: 42024024 XER: 00000000
TASK = c03915a0[0] 'swapper' THREAD: c03b2000
GPR00: c0250118 efffdf40 c03915a0 00000035 00008a62 ffffffff ffffffff 00000000
GPR08: 00000000 c03c0000 00008a62 c0393104 22024042 00000000 0ffd5900 0080044c
GPR16: 00000001 ffffffff 00000000 007ffc00 0ffd3158 0f0689b0 0ffff220 007ffbc0
GPR24: 00000000 00000000 0000000a 00000004 efffc000 c024ffb0 00000100 ef847000
NIP [c0250118] dev_watchdog+0x168/0x244
LR [c0250118] dev_watchdog+0x168/0x244
Call Trace:
[efffdf40] [c0250118] dev_watchdog+0x168/0x244 (unreliable)
[efffdfa0] [c002f564] run_timer_softirq+0x12c/0x1b4
[efffdfd0] [c002ab0c] __do_softirq+0x6c/0x108
[efffdff0] [c0011ef0] call_do_softirq+0x14/0x24
[c03b3e90] [c0006c30] do_softirq+0x64/0x88
[c03b3eb0] [c002a968] irq_exit+0x38/0x7c
[c03b3ec0] [c000f634] timer_interrupt+0x138/0x150
[c03b3ee0] [c0012bd4] ret_from_except+0x0/0x14--- Exception: 901 at cpu_idle+0xa4/0xec
LR = cpu_idle+0x98/0xec[c03b3fa0] [c0009f38] cpu_idle+0x4c/0xec (unreliable) [c03b3fb0] [c0297214] __got2_end+0x58/0x68 [c03b3fc0] [c03637e4] start_kernel+0x28c/0x2a0 [c03b3ff0] [0000380c] 0x380c Instruction dump: 80099d6c 2f800000 40be0038 38810008 7fe3fb78 38a00040 4bfee811 7fe4fb78 7c651b78 3c60c034 3863f264 4bdd6005 <0fe00000> 38000001 3d20c03c 90099d6c eth0: transmit timed out, tx_status 00 status e601. diagnostics: net 0ccc media 8880 dma 0000003a fifo 0000 eth0: Interrupt posted but not delivered -- IRQ blocked by another device? Flags; bus-master 1, dirty 16(0) current 16(0) Transmit list 00000000 vs. f101a200. 0: @f101a200 length 80000156 status 00010156 1: @f101a2a0 length 80000156 status 00010156 2: @f101a340 length 80000156 status 00010156 3: @f101a3e0 length 80000156 status 00010156 4: @f101a480 length 80000156 status 00010156 5: @f101a520 length 80000156 status 00010156 6: @f101a5c0 length 80000156 status 00010156 7: @f101a660 length 80000156 status 00010156 8: @f101a700 length 8000003c status 0001003c 9: @f101a7a0 length 8000003c status 0001003c 10: @f101a840 length 8000003c status 0001003c 11: @f101a8e0 length 8000003c status 0001003c 12: @f101a980 length 8000003c status 0001003c 13: @f101aa20 length 8000003c status 0001003c 14: @f101aac0 length 80000036 status 80010036 15: @f101ab60 length 800000f5 status 8c0100f5 eth0: Resetting the Tx ring pointer. -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger01