possible bug in 2.4.x pc_keyb.c

From: Walter Harms (WHarms@bfs.de)
Date: Mon Oct 22 2001 - 10:36:25 EST


hi list,

keyboard disappears with 2.4.x kernel on notebook (compaq amarda)

After some time the keyboard from my amarda notebook does not respond to anything. The only hint is that
"keyboard: Timeout - AT keyboard not present?" appears
quit often in the syslog before the kbd stops working.

Comparing the 2.2.x code (no problems) with the 2.4.x code i found pckbd_leds() as prime suspect.
as you can see it sets kbd_exists = 0 (FALSE) after sending an ENABLE. I am not sure if this is my probleme (read: no time to check if this fix works) but i guess its wrong.

Note:
1. the error isnt easy reproduceable but appears only with the 2.4.x
2. send_data returns 1 for acknowledge else 0
3. kann sombody please document kbd_exists ?

        walter

org:

void pckbd_leds(unsigned char leds)
{
        if (kbd_exists && (!send_data(KBD_CMD_SET_LEDS) || !send_data(leds))) {
                send_data(KBD_CMD_ENABLE); /* re-enable kbd if any errors *
/
                kbd_exists = 0;
        }
}

my idea:

 if () {
           if (send_data(KBD_CMD_ENABLE)){
        printk(KERN_WARNING "Keyboard off-line ?!\n");
                kbd_exists = FALSE;
                }
        }
-
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/



This archive was generated by hypermail 2b29 : Tue Oct 23 2001 - 21:00:30 EST