Re: [git pull request] ACPI patches for 2.6.34-rc6

Linus Torvalds
2010-05-11T17:45:36Z

On Tue, 11 May 2010, Matthew Garrett wrote:
>
> I've now checked the behaviour of Windows. It turns out that it never
> makes the ACPI enable SMM call on resume. This is consistent with
> http://bugzilla.kernel.org/show_bug.cgi?id=13745 which shows a bug
> being introduced by us making the enable call in the first place.
> Merging my patch and removing the blacklist would re-break these
> machines. Instead, we should just unconditionally set SCI_EN since this
> is the tested configuration. I'll send a followup patch.

Hmm. But that's the thing that Rafael claims doesn't work on his machine.

Maybe windows does something else? Or do you _see_ windows doing that
write?

Note that our acpi_enable() won't do anything either if the machine comes
up in ACPI mode, so maybe you checked the behavior on that kind of
machine, and Windows does the same? IOW, if acpi_hw_get_mode() already
returns ACPI_SYS_MODE_ACPI, the whole thing is a no-op.

Finally, it's possible that we really should just write the dang SCI_EN
bit directly, but that what we do wrong is that doing so with

acpi_write_bit_register()

will write it _even_if_ the bit was already set. That could explain
Rafael's problems too - writing the register directly may be the
RightThing(tm), but writing it if the bit was already set may well cause
some confusion.

Linus