From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: linux-pm@lists.linux-foundation.org
Cc: Maxim Levitsky <maximlevitsky@gmail.com>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"Moore, Robert" <robert.moore@intel.com>,
len.brown@intel.com
Subject: Re: [linux-pm] commit 'ACPICA: Minimize the differences between linux GPE code and ACPICA code base' breaks EC GPE on my system
Date: Fri, 11 Jun 2010 22:59:33 +0200 [thread overview]
Message-ID: <201006112259.33602.rjw@sisk.pl> (raw)
In-Reply-To: <201006112234.39747.rjw@sisk.pl>
On Friday, June 11, 2010, Rafael J. Wysocki wrote:
> On Friday, June 11, 2010, Maxim Levitsky wrote:
> > On Fri, 2010-06-11 at 21:43 +0200, Rafael J. Wysocki wrote:
> > > On Friday, June 11, 2010, Rafael J. Wysocki wrote:
> > > > On Friday, June 11, 2010, Maxim Levitsky wrote:
> > > > > Just bisected it.
> > > > >
> > > > > I also tried linux-acpi-next/test, and no change.
> > > > >
> > > > > The sympthoms are that EC does't sent any GPEs, and therefore battery
> > > > > insert/removal events don't show up.
> > > > >
> > > > > It can be see by doing 'grep . /sys/firmware/acpi/interrupts/*'
> > > > > With regression the line is shown like this:
> > > > >
> > > > >
> > > > > /sys/firmware/acpi/interrupts/gpe1C: 1 enabled
> > > > >
> > > > > Without regression it is
> > > > >
> > > > > /sys/firmware/acpi/interrupts/gpe1C: 22889 enabled
> > > > >
> > > > > and steadily increasing.
> > > > >
> > > > > After suspend/resume, regression disappears.
> > > >
> > > > Hmm.
> > > >
> > > > Can you please apply the following patches:
> > > >
> > > > https://patchwork.kernel.org/patch/104903/
> > > > https://patchwork.kernel.org/patch/104912/
> > > > https://patchwork.kernel.org/patch/104909/
> > > > https://patchwork.kernel.org/patch/104911/
> > > > https://patchwork.kernel.org/patch/104910/
> > > >
> > > > on top of current -git and see if the problem is still there?
> > >
> > > Also, regardless of whether or not this helps, please try to revert only the
> > > changes made by the "guilty" commit in drivers/acpi/acpica/evxface.c and see
> > > if that helps (this revert will conflict with the patches above, so you'll need
> > > to unapply them before).
> > >
> > > Thanks,
> > > Rafael
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
> > Yes, reverting changes in 'drivers/acpi/acpica/evxface.c' do restore
> > correct behavior.
>
> Good. I think we'll need to revert them for .35, then.
>
> I'll prepare a patch and send it to Len.
Can you check if the patch below fixes the issue?
Rafael
---
From: Rafael J. Wysocki <rjw@sisk.pl>
Subject: ACPI / ACPICA: Do not attempt to disable GPE when installing handler
Commit 0f849d2cc6863c7874889ea60a871fb71399dd3f (ACPICA: Minimize
the differences between linux GPE code and ACPICA code base)
introduced a change attempting to disable a GPE before installing
a handler for it in acpi_install_gpe_handler() which was incorrect.
First, the GPE disabled by it is never enabled again (except during
resume) which leads to battery insert/remove events not being
reported on the Maxim Levitsky's machine. Second, the disabled
GPE is still reported as enabled by the sysfs interface that only
checks its enable register's enable_for_run mask.
Revert this change for now, because it causes more damage to happen
than the bug it was supposed to fix.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reported-by: Maxim Levitsky <maximlevitsky@gmail.com>
---
drivers/acpi/acpica/evxface.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
Index: linux-2.6/drivers/acpi/acpica/evxface.c
===================================================================
--- linux-2.6.orig/drivers/acpi/acpica/evxface.c
+++ linux-2.6/drivers/acpi/acpica/evxface.c
@@ -719,13 +720,6 @@ acpi_install_gpe_handler(acpi_handle gpe
handler->context = context;
handler->method_node = gpe_event_info->dispatch.method_node;
- /* Disable the GPE before installing the handler */
-
- status = acpi_ev_disable_gpe(gpe_event_info);
- if (ACPI_FAILURE (status)) {
- goto unlock_and_exit;
- }
-
/* Install the handler */
flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);
next prev parent reply other threads:[~2010-06-11 21:01 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-11 11:47 commit 'ACPICA: Minimize the differences between linux GPE code and ACPICA code base' breaks EC GPE on my system Maxim Levitsky
2010-06-11 17:12 ` Len Brown
2010-06-11 19:23 ` Rafael J. Wysocki
2010-06-11 19:43 ` Rafael J. Wysocki
2010-06-11 20:32 ` Maxim Levitsky
2010-06-11 20:34 ` Rafael J. Wysocki
2010-06-11 20:59 ` Rafael J. Wysocki [this message]
2010-06-11 21:43 ` [linux-pm] " Maxim Levitsky
2010-06-11 19:47 ` Maxim Levitsky
2010-06-11 19:50 ` Rafael J. Wysocki
2010-06-11 19:59 ` Maxim Levitsky
2010-06-11 19:51 ` Maxim Levitsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201006112259.33602.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=maximlevitsky@gmail.com \
--cc=robert.moore@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox