From: Andrew Morton Work around the oops reported in http://bugzilla.kernel.org/show_bug.cgi?id=6478. Thanks to Ralf Hildebrandt for testing and reporting. Acked-by: Dave Jones Cc: "Brown, Len" Signed-off-by: Andrew Morton --- drivers/acpi/processor_perflib.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff -puN drivers/acpi/processor_perflib.c~powernow-k8-crash-workaround drivers/acpi/processor_perflib.c --- devel/drivers/acpi/processor_perflib.c~powernow-k8-crash-workaround 2006-06-08 21:42:18.000000000 -0700 +++ devel-akpm/drivers/acpi/processor_perflib.c 2006-06-08 22:49:47.000000000 -0700 @@ -577,6 +577,8 @@ acpi_processor_register_performance(stru return_VALUE(-EBUSY); } + WARN_ON(!performance); + pr->performance = performance; if (acpi_processor_get_performance_info(pr)) { @@ -609,7 +611,8 @@ acpi_processor_unregister_performance(st return_VOID; } - kfree(pr->performance->states); + if (pr->performance) + kfree(pr->performance->states); pr->performance = NULL; acpi_cpufreq_remove_file(pr); _