Message ID | 200903041955.n24JtPSM027990@imap1.linux-foundation.org (mailing list archive) |
---|---|
State | Rejected, archived |
Headers | show |
NAK -- per previous discussion on the list. This patch is not the right way to address this issue, which is reported here, BTW: https://bugzilla.redhat.com/show_bug.cgi?id=467941 -- Len Brown, Intel Open Source Technology Center On Wed, 4 Mar 2009, akpm@linux-foundation.org wrote: > From: Youquan, Song <youquan.song@intel.com> > > When cpu frequencey scaling is disabled, some BIOSes report _PSS with all > 0x80000000. If the kernel treats this case as valid, the kernel will boot > crash when load cpufreq govenors. > > So in order to cover more buggy BIOSs, the patch just check _PSS core > frequency invalidation. > > Signed-off-by: Youquan, Song <youquan.song@intel.com> > Signed-off-by: Pallipadi, Venkatesh <venkatesh.pallipadi@intel.com> > Cc: Len Brown <lenb@kernel.org> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > --- > > drivers/acpi/processor_perflib.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff -puN drivers/acpi/processor_perflib.c~acpi-check-_pss-invalidation-when-bios-report-_pss-with-all-0x80000000 drivers/acpi/processor_perflib.c > --- a/drivers/acpi/processor_perflib.c~acpi-check-_pss-invalidation-when-bios-report-_pss-with-all-0x80000000 > +++ a/drivers/acpi/processor_perflib.c > @@ -42,6 +42,7 @@ > #define ACPI_PROCESSOR_CLASS "processor" > #define ACPI_PROCESSOR_FILE_PERFORMANCE "performance" > #define _COMPONENT ACPI_PROCESSOR_COMPONENT > +#define ACPI_PROCESSOR_PSS_INVALID 0x80000000 > ACPI_MODULE_NAME("processor_perflib"); > > static DEFINE_MUTEX(performance_mutex); > @@ -316,6 +317,14 @@ static int acpi_processor_get_performanc > kfree(pr->performance->states); > goto end; > } > + > + if (px->core_frequency == ACPI_PROCESSOR_PSS_INVALID) { > + printk(KERN_ERR PREFIX > + "P-states disabled in the BIOS\n"); > + result = -EFAULT; > + kfree(pr->performance->states); > + goto end; > + } > } > > end: > _ > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff -puN drivers/acpi/processor_perflib.c~acpi-check-_pss-invalidation-when-bios-report-_pss-with-all-0x80000000 drivers/acpi/processor_perflib.c --- a/drivers/acpi/processor_perflib.c~acpi-check-_pss-invalidation-when-bios-report-_pss-with-all-0x80000000 +++ a/drivers/acpi/processor_perflib.c @@ -42,6 +42,7 @@ #define ACPI_PROCESSOR_CLASS "processor" #define ACPI_PROCESSOR_FILE_PERFORMANCE "performance" #define _COMPONENT ACPI_PROCESSOR_COMPONENT +#define ACPI_PROCESSOR_PSS_INVALID 0x80000000 ACPI_MODULE_NAME("processor_perflib"); static DEFINE_MUTEX(performance_mutex); @@ -316,6 +317,14 @@ static int acpi_processor_get_performanc kfree(pr->performance->states); goto end; } + + if (px->core_frequency == ACPI_PROCESSOR_PSS_INVALID) { + printk(KERN_ERR PREFIX + "P-states disabled in the BIOS\n"); + result = -EFAULT; + kfree(pr->performance->states); + goto end; + } } end: