--- /dev/null
+From stable-bounces@linux.kernel.org Sat Jun 10 23:33:22 2006
+Date: Sat, 10 Jun 2006 18:59:23 GMT
+From: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
+To: git-commits-head@vger.kernel.org
+Cc:
+Subject: powernow-k8 crash workaround
+
+From: Andrew Morton <akpm@osdl.org>
+
+Work around the oops reported in
+http://bugzilla.kernel.org/show_bug.cgi?id=6478.
+
+Thanks to Ralf Hildebrandt <ralf.hildebrandt@charite.de> for testing and
+reporting.
+
+Acked-by: Dave Jones <davej@codemonkey.org.uk>
+Cc: "Brown, Len" <len.brown@intel.com>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ drivers/acpi/processor_perflib.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- linux-2.6.16.20.orig/drivers/acpi/processor_perflib.c
++++ linux-2.6.16.20/drivers/acpi/processor_perflib.c
+@@ -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);