Bug#270376: PCMCIA Nic stops working after upgrading to
2.6.6/7/8
Daniel Ritz
daniel.ritz at gmx.ch
Sat Apr 9 16:00:10 EDT 2005
On Saturday 09 April 2005 05:24, Jefferson Cowart wrote:
> Looks like I may have spoken a bit too soon. The problem is partially fixed,
> but I'm still having a few problems. After the system was up I ran cardctl
> eject 0 to stop and let me remove my Ethernet card and I got the follow
> error:
>
> eth0: no IPv6 routers present
> irq 10: nobody cared!
> [<c01297b5>] __report_bad_irq+0x31/0x77
> [<c012985f>] note_interrupt+0x4c/0x71
> [<c0129476>] __do_IRQ+0x93/0xbd
> [<c0104b35>] do_IRQ+0x19/0x24
> [<c01038ba>] common_interrupt+0x1a/0x20
> [<c01189a4>] __do_softirq+0x2c/0x7d
> [<c0118a17>] do_softirq+0x22/0x26
> [<c0104b3a>] do_IRQ+0x1e/0x24
> [<c01038ba>] common_interrupt+0x1a/0x20
> [<c015f4b8>] load_elf_binary+0x236/0xaba
> [<c0124172>] autoremove_wake_function+0x0/0x3a
> [<c014862f>] kernel_read+0x38/0x41
> [<c0148f48>] search_binary_handler+0x71/0x19c
> [<c015e934>] load_script+0x1c8/0x1d8
> [<c015fca7>] load_elf_binary+0xa25/0xaba
> [<c012dcab>] __alloc_pages+0x32c/0x338
> [<c0198562>] copy_from_user+0x3a/0x60
> [<c0148281>] copy_strings+0x178/0x1b7
> [<c0148f48>] search_binary_handler+0x71/0x19c
> [<c01491d7>] do_execve+0x164/0x1f9
> [<c0101946>] sys_execve+0x2b/0x59
> [<c0102ed3>] syscall_call+0x7/0xb
> handlers:
> [<c89206f7>] (yenta_interrupt+0x0/0x27 [yenta_socket])
> [<c89206f7>] (yenta_interrupt+0x0/0x27 [yenta_socket])
> [<c893ee46>] (el3_interrupt+0x0/0x1db [3c574_cs])
> Disabling IRQ #10
>
looks more like a bug in the 3c574_cs driver. can you try the attached
patch? if it has no negative side effects i push it upstream.
(i don't know that driver and i have no doc of the chip. it just seems
to be an obvious bug)
> Subsequent attempts to replicate the error have been unsuccessful, so it
> doesn't appear to be a big problem.
>
> On a related note now my second NIC works so it looks like they were indeed
> the same bug (or at least a related one).
yep, the same.
>
>
> ----------------
> Thanks
> Jefferson Cowart
> Jeff at cowart.net
>
rgds
-daniel
------------------
[PATCH] 3c574_cs: disable interrupts in el3_close
3c574_cs forgets to disable interrupts during el3_close().
fix it by doing what 3c59x does.
Signed-off-by: Daniel Ritz <daniel.ritz at gmx.ch>
--- 1.40/drivers/net/pcmcia/3c574_cs.c 2005-01-25 22:50:25 +01:00
+++ edited/drivers/net/pcmcia/3c574_cs.c 2005-04-09 21:49:02 +02:00
@@ -1274,6 +1274,9 @@
spin_lock_irqsave(&lp->window_lock, flags);
update_stats(dev);
spin_unlock_irqrestore(&lp->window_lock, flags);
+
+ /* force interrupts off */
+ outw(SetIntrEnb | 0x0000, ioaddr + EL3_CMD);
}
link->open--;
More information about the linux-pcmcia
mailing list