From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH]ACPI: workaround for S3 fail in two facs tables case Date: Thu, 25 Feb 2010 11:58:26 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Wei, Gang" , "xen-devel@lists.xensource.com" Cc: Jan Beulich List-Id: xen-devel@lists.xenproject.org On 25/02/2010 05:49, "Wei, Gang" wrote: > /* Now FACS... */ > - if (fadt->header.revision >= FADT2_REVISION_ID) > + if (fadt->header.revision >= FADT2_REVISION_ID && fadt->facs == 0) > facs_pa = fadt->Xfacs; > else > facs_pa = (uint64_t)fadt->facs; I think Linux in this case falls back to facs if Xfacs is zero, rather than always using facs if facs is non-zero. So more like: if (fadt->header.revisions >= FADT2_REVISION_ID && fadt->Xfacs) ... What do you think? And I was looking at Linux 2.6.27 -- has behaviour there chanegd since then? -- Keir