From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Torvalds Subject: Re: [git pull request] ACPI patches for 2.6.34-rc6 Date: Tue, 11 May 2010 10:42:52 -0700 (PDT) Message-ID: References: <20100507061203.GA8779@srcf.ucam.org> <20100507211331.GA28906@srcf.ucam.org> <20100507213600.GC28906@srcf.ucam.org> <20100511172543.GA17868@srcf.ucam.org> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Return-path: Received: from smtp1.linux-foundation.org ([140.211.169.13]:42432 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752347Ab0EKRpe (ORCPT ); Tue, 11 May 2010 13:45:34 -0400 In-Reply-To: <20100511172543.GA17868@srcf.ucam.org> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Matthew Garrett Cc: Len Brown , Linux Kernel Mailing List , linux-acpi@vger.kernel.org, Andrew Morton 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