From: Wu Fengguang <fengguang.wu@intel.com>
To: Len Brown <lenb@kernel.org>
Cc: "Zhao, Yakui" <yakui.zhao@intel.com>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"Lin, Ming M" <ming.m.lin@intel.com>,
"Zhang, Rui" <rui.zhang@intel.com>,
"Li, Shaohua" <shaohua.li@intel.com>
Subject: Re: [PATCH 2.6.28-rc6] ACPICA: don't cond_resched() when irqs_disabled()
Date: Fri, 19 Dec 2008 19:01:45 +0800 [thread overview]
Message-ID: <20081219110145.GA14076@localhost> (raw)
In-Reply-To: <alpine.LFD.2.00.0812190326000.6312@localhost.localdomain>
Hi Len,
FYI: this patch from Lin Ming will generate the following messages:
on closing lid =>
[ 8993.764829] irq status before SMI: enable
[ 8993.768028] irq status after SMI: disable, value: 0xF3
on opening lid =>
[ 8987.590636] irq status before SMI: enable
[ 8987.669829] irq status after SMI: enable, value: 0xF3
---
drivers/acpi/executer/exregion.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
--- linux-2.6.orig/drivers/acpi/executer/exregion.c
+++ linux-2.6/drivers/acpi/executer/exregion.c
@@ -300,8 +300,20 @@ acpi_ex_system_io_space_handler(u32 func
case ACPI_WRITE:
+ if (address == 0xB2) {
+ printk("irq status before SMI: %s\n",
+ irqs_disabled() ? "disable" : "enable");
+ }
+
status = acpi_os_write_port((acpi_io_address) address,
(u32) * value, bit_width);
+
+ if (address == 0xB2) {
+ printk("irq status after SMI: %s, value: 0x%X\n",
+ irqs_disabled() ? "disable" : "enable",
+ (u32) *value);
+ }
+
break;
default:
We are now exploring how the Windows execution path manages to avoid this bug.
Thanks,
Fengguang
On Fri, Dec 19, 2008 at 10:38:18AM +0200, Len Brown wrote:
> > The issue on Fengguang's laptop is different with that on the box of
> > T61. On Fengguang's laptop after evaluating one ACPI object(GPE
> > _L18object), the irq is disabled mystically. After some investigations
> > we find that it is caused by SMI(The SMI will be triggered while
> > evaluating the ACPI object. And this issue is also related with Video).
>
> Interesting.
> I hadn't realized you root-caused that failure.
> This is good to know, but the fact that SMM can
> leave interrupts disabled is frightening.
>
> If the BIOS SMM on that box disables interrupts when
> random AML is run, then it is going to run into
> all kinds of other problems in addition to this one...
>
> Hopefully the BIOS bugs is fixed by a BIOS update...
>
> > If the boot option of "noapic" is added on the box of bug12252, the
> > irq_router_resume will be called, in which the _CRS/_SRS object will be
> > evaluated. But unfortunately the irq is disabled when irq_router_resume
> > is called.
>
> Right. I forced the T61 to run into this problem by forcing
> it to use PIC mode and suspending -- for it doesn't use the links
> in IOAPIC mode. Many other systems do use the links in default
> mode, however, so I'm surprised that we had not heard more about
> this failure.
>
> Now that I search for acpi_ps_complete_op() on kerneloops.org,
> I see that just a few people have run into it.
>
> thanks,
> -- Len Brown, Intel Open Source Technology Center>
next prev parent reply other threads:[~2008-12-19 12:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20081126063522.GA23611@localhost>
[not found] ` <20081126135508.GA1891@localhost>
[not found] ` <20081126152043.c92ae839.akpm@linux-foundation.org>
2008-12-02 2:45 ` [PATCH 2.6.28-rc6] ACPICA: don't cond_resched() when irqs_disabled() Wu Fengguang
2008-12-19 5:22 ` Len Brown
2008-12-19 7:02 ` Zhao Yakui
2008-12-19 8:38 ` Len Brown
2008-12-19 11:01 ` Wu Fengguang [this message]
2008-12-19 18:24 ` Len Brown
2008-12-20 0:28 ` Wu Fengguang
2008-12-19 13:51 ` Wu Fengguang
2008-12-19 18:35 ` Len Brown
2008-12-20 0:34 ` Wu Fengguang
2009-01-01 19:39 ` Robert Hancock
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=20081219110145.GA14076@localhost \
--to=fengguang.wu@intel.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=ming.m.lin@intel.com \
--cc=rui.zhang@intel.com \
--cc=shaohua.li@intel.com \
--cc=yakui.zhao@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