Re: i8046: unbind/bind issue with laptop system password set

From: Matthew Garrett
Date: Fri Nov 14 2008 - 10:19:07 EST


On Fri, Nov 14, 2008 at 12:30:58PM +0000, Nick Warne wrote:
> Now, investigating further, I have found that I can replicate this whole issue with this script:
>
> #!/bin/sh
> echo -n "i8042" > /sys/bus/platform/drivers/i8042/unbind
> sleep 5;
> echo -n "i8042" > /sys/bus/platform/drivers/i8042/bind
>
> if I hit a key during the sleep stage, the keyboard et al all goes AWOL again.
>
> So, I am presuming here that when my laptop gets woken up, the BIOS system password screen comes, and the /etc/acpi/resume.d/ scripts are being held in stasis until I enter the password. BUT, I have then used the keyboard before i8042 is echoed to 'bind', and this causes the issue. Without the system password set, the scipts perhaps run fast enough before I can hit the keyboard in this keyboard state.

Why are you binding/unbinding the keyboard? That destroys the kernel
state about the mode the keyboard is in, and when the BIOS programs your
keyboard into RAW mode for the BIOS password the kernel will assume that
it should be treating it in raw mode on replug.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/