Hum. send_data() requires that local interrupts be enabled.
Does this fix it?
--- linux-2.5.1-pre6/drivers/char/pc_keyb.c Thu Dec 6 20:44:21 2001
+++ 25/drivers/char/pc_keyb.c Fri Dec 7 15:31:34 2001
@@ -1090,6 +1090,7 @@ static int open_aux(struct inode * inode
spin_unlock_irqrestore(&aux_count_lock, flags);
return -EBUSY;
}
+ spin_unlock_irqrestore(&aux_count_lock, flags);
kbd_write_command_w(KBD_CCMD_MOUSE_ENABLE); /* Enable the
auxiliary port on
controller. */
@@ -1099,7 +1100,6 @@ static int open_aux(struct inode * inode
mdelay(2); /* Ensure we follow the kbc access delay rules.. */
send_data(KBD_CMD_ENABLE); /* try to workaround toshiba4030cdt problem */
- spin_unlock_irqrestore(&aux_count_lock, flags);
return 0;
}
-
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/