Messages in this thread Patch in this message | | | Date | Sun, 28 Sep 2003 14:55:18 +0200 | From | Geert Uytterhoeven <> | Subject | [PATCH 299] Q40/Q60 interrupts |
| |
Q40/Q60: Must handle keyboard interrupts even before they are registered (from Richard Zidlicky)
--- linux-2.6.0-test6/arch/m68k/q40/q40ints.c Tue Jul 29 18:18:35 2003 +++ linux-m68k-2.6.0-test6/arch/m68k/q40/q40ints.c Mon Sep 1 13:50:04 2003 @@ -378,7 +378,7 @@ /*printk("reenabling irq %d\n",irq); */ #endif } -// used to do 'goto repeat;' her, this delayed bh processing too long +// used to do 'goto repeat;' here, this delayed bh processing too long return IRQ_HANDLED; } } @@ -387,6 +387,7 @@ } iirq: mir=master_inb(IIRQ_REG); + /* should test whether keyboard irq is really enabled, doing it in defhand */ if (mir&Q40_IRQ_KEYB_MASK) { irq_tab[Q40_IRQ_KEYBOARD].count++; irq_tab[Q40_IRQ_KEYBOARD].handler(Q40_IRQ_KEYBOARD,irq_tab[Q40_IRQ_KEYBOARD].dev_id,fp); @@ -413,7 +414,9 @@ static irqreturn_t q40_defhand (int irq, void *dev_id, struct pt_regs *fp) { - printk ("Unknown q40 interrupt 0x%02x\n", irq); + if (irq!=Q40_IRQ_KEYBOARD) + printk ("Unknown q40 interrupt %d\n", irq); + else master_outb(-1,KEYBOARD_UNLOCK_REG); return IRQ_NONE; } static irqreturn_t sys_default_handler(int lev, void *dev_id, struct pt_regs *regs) Gr{oetje,eeting}s, Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |