diff options
author | Len Brown <len.brown@intel.com> | 2007-05-30 04:10:38 (GMT) |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-05-30 04:10:38 (GMT) |
commit | f507654d450d329c81a70eec0096d5dfe67802ec (patch) | |
tree | bdc34cda973fac170cc90d5b6aa61d27ac558949 /include | |
parent | ae00d812436dc968f4a5dea7757b6a94910b6dc4 (diff) | |
download | linux-f507654d450d329c81a70eec0096d5dfe67802ec.tar.xz |
ACPI: Make _OSI(Linux) a special case
_OSI("Linux") is like _OS("Linux"), it is ill-defined and
virtually no BIOS vendors test interaction with it.
As a result, it can do more damage than good because
it causes the BIOS to follow un-tested paths.
Recently, several machines have turned up that erroneously
test this string in a way which causes them to _not_ test other
compatibility strings, including the ZI9 and Toshiba.
So it appears that this bad code has made it into
a BIOS vendor's reference BIOS.
Linux has no choice but to stop advertising compatibility
with _OSI string "Linux" - as there are an unbounded
number of possible incompatibilities going forward.
But some BIOSes have already shipped which do use it
for things like conditionally re-enabling video on resume
from S3. (Too bad they didn't do that unconditionally)
Add special case code for _OSI(Linux)
Squawk to dmesg if _OSI(Linux) is requested
Add DMI list both to enable and disable _OSI(Linux)
But for now, keep the default enabled via
#define OSI_LINUX_ENABLED.
http://bugzilla.kernel.org/show_bug.cgi?id=7787
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions