From: Kristoffer E. <kri...@gm...> - 2007-10-05 17:29:09
|
Greetings, Thoughts appreciated. IRQ 36 is main hd64461 IRQ (all IRQ between 64->80 ends up here) IRQ 78 is setup to be used as a pcmcia_bridge. IRQ 79 is aquired to handle PCMCIA events. A demux is put in place to take 78 IRQ's (since that is basicly the only thing that will happen) and transform them into 79 IF interrupt was generated by pcmcia change. extracts from code: note. irq = 78, io_irq = 79, irq_flags = IRQF_DISABLED request_irq(irq, hd64461_interrupt, irq_flags, "hd64461_ss-irq",sp)) irq_desc[io_irq].chip = &hd64461_ss_irq_type; hd64461_register_irq_demux(sp->irq, hd64461_pcmcia_irq_demux, sp); Now whenever I insert a pcmcia card I get: 'unexpected IRQ trap at vector 4f' 'irq 79, desc:8d2b8a20, depth 1, count: 0, unhandled: 0' 'handle_irq(): 8d031180, handle_bad_irq+0x0/0x2d0' 'chip(): 9d2e2af8, 0x8d2e2af8' 'action() : 00000000' 'IRQ_DISABLED set' Due to printk's I can see that it did run through the hd64461_pcmcia_irq_demux and there quite correctly made 78 -> 79. /Kristoffer |