Messages in this thread Patch in this message | | | Date | Sun, 07 Jul 2002 10:20:16 -0400 | From | Douglas Gilbert <> | Subject | dead keyboard in lk 2.5.25 |
| |
When I first booted lk 2.5.25 on an Athlon box the AT keyboard was inactive. The mouse worked and the box was accessible across the network so it looked like a problem with the keyboard or its driver.
/var/log/messages contained this sequence:
Jul 6 09:57:00 frig kernel: mice: PS/2 mouse device common for all mice Jul 6 09:57:00 frig kernel: spurious 8259A interrupt: IRQ7. Jul 6 09:57:00 frig kernel: i8042.c: Can't get irq 1 for KBD Jul 6 09:57:00 frig kernel: i8042.c: Can't get irq 1 for KBD Jul 6 09:57:00 frig kernel: serio: i8042 KBD port at 0x60,0x64 irq 1 Jul 6 09:57:00 frig kernel: input.c: hotplug returned -2
and /proc/interrupts indicated that irq 1 was owned by "keyboard" which implied drivers/char/pc_keyb.c owned the keyboard. The attempt by "i8042" to claim irq 1 returned -EBUSY which caused the "can't get irq 1" line above.
Since nobody else has reported this error it could be local to my environment. If you get this problem, the crude patch below fixed it for me.
Doug Gilbert
--- linux/drivers/input/serio/i8042.c Sat Jul 6 08:57:35 2002 +++ linux/drivers/input/serio/i8042.c2525fix Sun Jul 7 09:52:50 2002 @@ -269,8 +269,11 @@ */ if (request_irq(values->irq, i8042_interrupt, 0, "i8042", NULL)) { - printk(KERN_ERR "i8042.c: Can't get irq %d for %s\n", values->irq, values->name); - return -1; + free_irq(values->irq, NULL); + if (request_irq(values->irq, i8042_interrupt, 0, "i8042", NULL)) { + printk(KERN_ERR "i8042.c: Can't get irq %d for %s\n", values->irq, values->name); + return -1; + } } /* - 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/
| |