Hi, Please check if the attached patch helps If it does not, please open bug report at bugzilla.kernel.org against ACPI/EC. Regards, Alex. Florian Zumbiehl пишет: > Hi, > > I have here a T20 thinkpad with a T22 BIOS and a 2.6.32 kernel. After > boot, acpi_listen shows me all the events that are being generated by > the lid switch, hotkeys, batteries, ac, and maybe more. However, > when I disconnect and reconnect ac power a few times in rapid > succession, that leads to all of these events not being reported > anymore. Suspend to RAM and to disk both don't fix it, only a > reboot does. > > After I posted this on the thinkpad-acpi mailing list, I was told > that this probably was a problem with the EC (driver|firmware), > so that's why I am addressing this to you now :-) > > The BIOS and EC firmware are the newest versions available > (1.12 and 1.06, respectively). > > Any hints as to how to debug or possibly even fix this would be > appreciated. > > Florian
ACPI: EC: Put back small delay at the transaction start From: Alexey Starikovskiy <astarikovskiy@xxxxxxx> Commit 2a84cb removed delay needed by some slow controllers (Acer TM4001) Put it back. References: http://bugzilla.kernel.org/show_bug.cgi?id=14747 Signed-off-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx> --- drivers/acpi/ec.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 75b147f..dce126f 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -217,6 +217,8 @@ static int ec_poll(struct acpi_ec *ec) { unsigned long flags; int repeat = 2; /* number of command restarts */ + /* allow EC to digest command */ + udelay(ACPI_EC_CDELAY); while (repeat--) { unsigned long delay = jiffies + msecs_to_jiffies(ACPI_EC_DELAY);