pcmcia card takes down system

James Cloos cloos at jhcloos.com
Tue Nov 8 16:25:50 EST 2005


I decided to give my old orinco gold card a test under the new pcmcia
framework.  Box is an inspiron 8100 currently running 2.6.14-g9f75e1ef
from Linus' git tree, w/ no other mods.

As some may remember, the i8100 has a poor design, routing all of usb,
1394, pccard and mini-pci interupts to irq10.  Other than the stuff on
the north and south bridges, only the audio and video cards get their
own interupts....  (That said the old pcmcia drivers were able to use
spare interupts for pcmcia cards; the new drivers seem to use irq10
for pcmcia just liek thye do for cardbus.)

When I inserted the card the box froze.  So I removed it.

That gave me this:

,----
| [5060571.782000] irq 10: nobody cared (try booting with the "irqpoll" option)
| [5060571.782000]  [<c0103447>] dump_stack+0x17/0x20
| [5060571.782000]  [<c013cdc7>] __report_bad_irq+0x27/0x90
| [5060571.782000]  [<c013ced2>] note_interrupt+0x82/0xe0
| [5060571.782000]  [<c013c911>] __do_IRQ+0xa1/0xb0
| [5060571.782000]  [<c0104547>] do_IRQ+0x37/0x70
| [5060571.782000]  [<c01030b6>] common_interrupt+0x1a/0x20
| [5060571.782000]  [<c0120b0b>] do_softirq+0x2b/0x30
| [5060571.782000]  [<c0120bc5>] irq_exit+0x35/0x40
| [5060571.782000]  [<c010454c>] do_IRQ+0x3c/0x70
| [5060571.782000]  [<c01030b6>] common_interrupt+0x1a/0x20
| [5060571.782000]  [<c0101113>] cpu_idle+0x63/0x70
| [5060571.782000]  [<c010023e>] _stext+0x1e/0x20
| [5060571.782000]  [<c05ce831>] start_kernel+0x171/0x1b0
| [5060571.782000]  [<c0100199>] 0xc0100199
| [5060571.782000] handlers:
| [5060571.782000] [<c0371670>] (ohci_irq_handler+0x0/0x760)
| [5060571.782000] [<c0383360>] (yenta_interrupt+0x0/0xf0)
| [5060571.782000] [<c0383360>] (yenta_interrupt+0x0/0xf0)
| [5060571.782000] [<c0250bf0>] (usb_hcd_irq+0x0/0x60)
| [5060571.782000] [<c032b320>] (e100_intr+0x0/0x130)
| [5060571.782000] Disabling IRQ #10
`----

Note the last line.  

That took out eth0, usb and 1394.  And I had a sbp2 drive mounted,
plus active ipv4 sockets.

I couldn't come up with anything better than rebooting to regain
the irq and the devices behind it.  (And this mail should go out
as soon as it is back up. :)

First of all, is there a way to re-enable the irq?

Second, should the kernel disable a shared irq just because one of the
drivers that is supposed to handle some of those interupts fails?

It seems like it shouldn't, given the problems that causes for other
devices on that irq.  At least when there isn't a continuous storm
of ignored interupts.

-JimC
-- 
James H. Cloos, Jr. <cloos at jhcloos.com>







More information about the linux-pcmcia mailing list