aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/cn_proc.h
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2009-05-26 15:11:06 -0400
committerLen Brown <len.brown@intel.com>2009-05-29 20:45:58 -0400
commit34d531e640cb805973cf656b15c716b961565cea (patch)
tree6f62bdd6a5eef1ec6b49ab8b5e6808abba528b6d /include/linux/cn_proc.h
parentb18f1e21993f73f072b1e0859f942fb11afddcb1 (diff)
downloadkernel_goldelico_gta04-34d531e640cb805973cf656b15c716b961565cea.zip
kernel_goldelico_gta04-34d531e640cb805973cf656b15c716b961565cea.tar.gz
kernel_goldelico_gta04-34d531e640cb805973cf656b15c716b961565cea.tar.bz2
ACPI: sanity check _PSS frequency to prevent cpufreq crash
When BIOS SETUP is changed to disable EIST, some BIOS hand the OS an un-initialized _PSS: Name (_PSS, Package (0x06) { Package (0x06) { 0x80000000, // frequency [MHz] 0x80000000, // power [mW] 0x80000000, // latency [us] 0x80000000, // BM latency [us] 0x80000000, // control 0x80000000 // status }, ... These are outrageous values for frequency, power and latency, raising the question where to draw the line between legal and illegal. We tend to survive garbage in the power and latency fields, but we can BUG_ON when garbage is in the frequency field. Cpufreq multiplies the frequency by 1000 and stores it in a u32 KHz. So disregard a _PSS with a frequency so large that it can't be represented by cpufreq. https://bugzilla.redhat.com/show_bug.cgi?id=500311 Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/linux/cn_proc.h')
0 files changed, 0 insertions, 0 deletions