dl2k driver in 2.6.4

From: Otto Meier
Date: Tue Mar 09 2004 - 10:16:58 EST


The kernel driver has release Nr. 1.17a. On the dlink ftp server
exists a newer release 1.18b. which has a modified TX Path.

I need this because the 1.17a version stops working under heavy load the
1.18b version works under 2.4

Unfortuatly it is for kernel 2.4. But by good luck the attached diff against
kernel 2.6.4-rc2 is compilable. when loaded it spit out a lot of messages like
this:
Mar 9 15:12:07 gate2 kernel: handlers:
Mar 9 15:12:07 gate2 kernel: [__crc_dev_getfirstbyhwtype+78192/2170958] (rio_interrupt+0x0/0x110 [dl2k])
Mar 9 15:12:07 gate2 kernel: [<e13b0460>] (rio_interrupt+0x0/0x110 [dl2k])
Mar 9 15:12:07 gate2 kernel: irq event 16: bogus return value 1388
Mar 9 15:12:07 gate2 kernel: Call Trace:
Mar 9 15:12:07 gate2 kernel: [__report_bad_irq+42/144] __report_bad_irq+0x2a/0x90
Mar 9 15:12:07 gate2 kernel: [<c010acea>] __report_bad_irq+0x2a/0x90
Mar 9 15:12:07 gate2 kernel: [note_interrupt+131/192] note_interrupt+0x83/0xc0
Mar 9 15:12:07 gate2 kernel: [<c010adf3>] note_interrupt+0x83/0xc0
Mar 9 15:12:07 gate2 kernel: [do_IRQ+278/320] do_IRQ+0x116/0x140
Mar 9 15:12:07 gate2 kernel: [<c010b0b6>] do_IRQ+0x116/0x140
Mar 9 15:12:07 gate2 kernel: [rest_init+0/80] _stext+0x0/0x50
Mar 9 15:12:07 gate2 kernel: [<c0103000>] _stext+0x0/0x50
Mar 9 15:12:07 gate2 kernel: [common_interrupt+24/32] common_interrupt+0x18/0x20
Mar 9 15:12:07 gate2 kernel: [<c032922c>] common_interrupt+0x18/0x20
Mar 9 15:12:07 gate2 kernel: [default_idle+0/64] default_idle+0x0/0x40
Mar 9 15:12:07 gate2 kernel: [<c0107030>] default_idle+0x0/0x40
Mar 9 15:12:07 gate2 kernel: [rest_init+0/80] _stext+0x0/0x50
Mar 9 15:12:07 gate2 kernel: [<c0103000>] _stext+0x0/0x50
Mar 9 15:12:07 gate2 kernel: [default_idle+44/64] default_idle+0x2c/0x40
Mar 9 15:12:07 gate2 kernel: [<c010705c>] default_idle+0x2c/0x40
Mar 9 15:12:07 gate2 kernel: [cpu_idle+52/80] cpu_idle+0x34/0x50
Mar 9 15:12:07 gate2 kernel: [<c01070e4>] cpu_idle+0x34/0x50
Mar 9 15:12:07 gate2 kernel: [start_kernel+451/528] start_kernel+0x1c3/0x210
Mar 9 15:12:07 gate2 kernel: [<c0408973>] start_kernel+0x1c3/0x210
Mar 9 15:12:07 gate2 kernel: [unknown_bootoption+0/304] unknown_bootoption+0x0/0x130
Mar 9 15:12:07 gate2 kernel: [<c0408480>] unknown_bootoption+0x0/0x130
Mar 9 15:12:07 gate2 kernel:
Mar 9 15:12:07 gate2 kernel: handlers:
Mar 9 15:12:07 gate2 kernel: [__crc_dev_getfirstbyhwtype+78192/2170958] (rio_interrupt+0x0/0x110 [dl2k])
Mar 9 15:12:07 gate2 kernel: [<e13b0460>] (rio_interrupt+0x0/0x110 [dl2k])Mar 9 15:32:13 gate2 kernel: irq event 16: bogus return value 1388
Mar 9 15:12:08 gate2 kernel: eth0: Link up
Mar 9 15:12:08 gate2 kernel: Auto 1000 Mbps, Full duplex
Mar 9 15:12:08 gate2 kernel: Enable Tx Flow Control
Mar 9 15:12:08 gate2 kernel: Enable Rx Flow Control

but it starts working

after a while it stops to operate with following messages:

Mar 9 15:32:13 gate2 kernel: irq event 16: bogus return value 1388
Mar 9 15:32:13 gate2 kernel: Call Trace:
Mar 9 15:32:13 gate2 kernel: [__report_bad_irq+42/144] __report_bad_irq+0x2a/0x90
Mar 9 15:32:13 gate2 kernel: [<c010acea>] __report_bad_irq+0x2a/0x90
Mar 9 15:32:13 gate2 kernel: [note_interrupt+149/192] note_interrupt+0x95/0xc0
Mar 9 15:32:13 gate2 kernel: [<c010ae05>] note_interrupt+0x95/0xc0
Mar 9 15:32:13 gate2 kernel: [do_IRQ+278/320] do_IRQ+0x116/0x140
Mar 9 15:32:13 gate2 kernel: [<c010b0b6>] do_IRQ+0x116/0x140
Mar 9 15:32:13 gate2 kernel: [rest_init+0/80] _stext+0x0/0x50
Mar 9 15:32:13 gate2 kernel: [<c0103000>] _stext+0x0/0x50
Mar 9 15:32:13 gate2 kernel: [common_interrupt+24/32] common_interrupt+0x18/0x20
Mar 9 15:32:13 gate2 kernel: [<c032922c>] common_interrupt+0x18/0x20
Mar 9 15:32:13 gate2 kernel: [default_idle+0/64] default_idle+0x0/0x40
Mar 9 15:32:13 gate2 kernel: [<c0107030>] default_idle+0x0/0x40
Mar 9 15:32:13 gate2 kernel: [rest_init+0/80] _stext+0x0/0x50
Mar 9 15:32:13 gate2 kernel: [<c0103000>] _stext+0x0/0x50
Mar 9 15:32:13 gate2 kernel: [default_idle+44/64] default_idle+0x2c/0x40
Mar 9 15:32:13 gate2 kernel: [<c010705c>] default_idle+0x2c/0x40
Mar 9 15:32:13 gate2 kernel: [cpu_idle+52/80] cpu_idle+0x34/0x50
Mar 9 15:32:13 gate2 kernel: [<c01070e4>] cpu_idle+0x34/0x50
Mar 9 15:32:13 gate2 kernel: [start_kernel+451/528] start_kernel+0x1c3/0x210
Mar 9 15:32:13 gate2 kernel: [<c0408973>] start_kernel+0x1c3/0x210
Mar 9 15:32:13 gate2 kernel: [unknown_bootoption+0/304] unknown_bootoption+0x0/0x130
Mar 9 15:32:13 gate2 kernel: [<c0408480>] unknown_bootoption+0x0/0x130
Mar 9 15:32:13 gate2 kernel:
Mar 9 15:32:13 gate2 kernel: handlers:
Mar 9 15:32:13 gate2 kernel: [__crc_dev_getfirstbyhwtype+78192/2170958] (rio_interrupt+0x0/0x110 [dl2k])
Mar 9 15:32:13 gate2 kernel: [<e13b0460>] (rio_interrupt+0x0/0x110 [dl2k])
Mar 9 15:32:13 gate2 kernel: Disabling IRQ #16

I have not the skills to migrate the 1.18b version to kernel 2.6. It would be very nice if someone
could review the patch and give the needed guidance.



Attachment: dl-1.18b.diff.gz
Description: application/gunzip