From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey Starikovskiy Subject: Re: ACPI events on T20 thinkpad stop being reported Date: Mon, 21 Dec 2009 19:40:53 +0300 Message-ID: <4B2FA515.3020405@suse.de> References: <20091221161047.GN2512@florz.florz.dyndns.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010005030103070108070907" Return-path: Received: from nat.nue.novell.com ([195.135.221.3]:37734 "EHLO emea5-mh.id5.novell.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751312AbZLUQkw (ORCPT ); Mon, 21 Dec 2009 11:40:52 -0500 In-Reply-To: <20091221161047.GN2512@florz.florz.dyndns.org> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Florian Zumbiehl Cc: denis.m.sadykov@intel.com, linux-acpi@vger.kernel.org This is a multi-part message in MIME format. --------------010005030103070108070907 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --------------010005030103070108070907 Content-Type: text/x-diff; name="acpi_ec_return_udelay_at_transaction_start.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="acpi_ec_return_udelay_at_transaction_start.patch" ACPI: EC: Put back small delay at the transaction start From: Alexey Starikovskiy 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 --- 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); --------------010005030103070108070907--