tree 68f3f3fabc5310d0d3c0cdae1db1d4aef33ddccd
parent 917325d30ab12f9f23aee5c91dc96dfe81b0c6be
author Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> 1166561935 -0800
committer Dave Jones <davej@redhat.com> 1166845541 -0500

[CPUFREQ] Bug fix for acpi-cpufreq and cpufreq_stats oops on frequency change notification

Fixes the oops in cpufreq_stats with acpi_cpufreq driver.  The issue was
that the frequency was reported as 0 in acpi-cpufreq.c.  The bug is due to
different indicies for freq_table and ACPI perf table.

Also adds a check in cpufreq_stats to check for error return from
freq_table_get_index() and avoid using the error return value.

Patch fixes the issue reported at
http://www.ussg.iu.edu/hypermail/linux/kernel/0611.2/0629.html
and also other similar issue here
http://bugme.osdl.org/show_bug.cgi?id=7383 comment 53

Signed-off-by: Dhaval Giani <dhaval.giani@gmail.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dave Jones <davej@redhat.com>
