Displaying 2 results from an estimated 2 matches for "i8042_enable_kbd_port".
2007 Sep 10
1
[PATCH] input: Fix interrupt enable in i8042_ctr when enabling interrupt fails
...tr |= port->irqen;
if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
i8042_ctr &= ~port->irqen;
return -1;
}
i8042_ctr shadows the 8042's CTR. So, when enabling fails, the bit is
cleared in the shadow.
The new code does not clear the bit on the error path:
static int i8042_enable_kbd_port(void)
{
i8042_ctr &= ~I8042_CTR_KBDDIS;
i8042_ctr |= I8042_CTR_KBDINT;
if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
printk(KERN_ERR "i8042.c: Failed to enable KBD port.\n");
return -EIO;
}
return 0;
}
Same for i8042_enable_aux_port().
This leads to the questio...
2007 Sep 10
1
[PATCH] input: Fix interrupt enable in i8042_ctr when enabling interrupt fails
...tr |= port->irqen;
if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
i8042_ctr &= ~port->irqen;
return -1;
}
i8042_ctr shadows the 8042's CTR. So, when enabling fails, the bit is
cleared in the shadow.
The new code does not clear the bit on the error path:
static int i8042_enable_kbd_port(void)
{
i8042_ctr &= ~I8042_CTR_KBDDIS;
i8042_ctr |= I8042_CTR_KBDINT;
if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
printk(KERN_ERR "i8042.c: Failed to enable KBD port.\n");
return -EIO;
}
return 0;
}
Same for i8042_enable_aux_port().
This leads to the questio...