From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759588Ab0HLAaP (ORCPT ); Wed, 11 Aug 2010 20:30:15 -0400 Received: from kroah.org ([198.145.64.141]:43683 "EHLO coco.kroah.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759299Ab0HKX7T (ORCPT ); Wed, 11 Aug 2010 19:59:19 -0400 X-Mailbox-Line: From gregkh@clark.site Wed Aug 11 16:55:04 2010 Message-Id: <20100811235504.335398783@clark.site> User-Agent: quilt/0.48-11.2 Date: Wed, 11 Aug 2010 16:55:16 -0700 From: Greg KH To: linux-kernel@vger.kernel.org, stable@kernel.org Cc: stable-review@kernel.org, torvalds@linux-foundation.org, akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk, "Darrick J. Wong" , Len Brown , Jeff Mahoney Subject: [095/111] ACPI: Fix regression where _PPC is not read at boot even when ignore_ppc=0 In-Reply-To: <20100811235623.GA24440@kroah.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2.6.32-stable review patch. If anyone has any objections, please let us know. ------------------ From: Darrick J. Wong commit 455c0d71d46e86b0b7ff2c9dcfc19bc162302ee9 upstream. Earlier, Ingo Molnar posted a patch to make it so that the kernel would avoid reading _PPC on his broken T60. Unfortunately, it seems that with Thomas Renninger's patch last July to eliminate _PPC evaluations when the processor driver loads, the kernel never actually reads _PPC at all! This is problematic if you happen to boot your non-T60 computer in a state where the BIOS _wants_ _PPC to be something other than zero. So, put the _PPC evaluation back into acpi_processor_get_performance_info if ignore_ppc isn't 1. Signed-off-by: Darrick J. Wong Signed-off-by: Len Brown Acked-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman --- drivers/acpi/processor_perflib.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) --- a/drivers/acpi/processor_perflib.c +++ b/drivers/acpi/processor_perflib.c @@ -356,7 +356,11 @@ static int acpi_processor_get_performanc if (result) goto update_bios; - return 0; + /* We need to call _PPC once when cpufreq starts */ + if (ignore_ppc != 1) + result = acpi_processor_get_platform_limit(pr); + + return result; /* * Having _PPC but missing frequencies (_PSS, _PCT) is a very good hint that