Len Brown f507654d45 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>
2007-05-30 00:10:38 -04:00
..
2007-05-21 09:18:19 -07:00
2007-05-23 20:14:15 -07:00
2007-05-23 20:14:13 -07:00
2007-05-15 18:56:37 -07:00
2007-05-22 19:49:16 +02:00
2007-05-24 02:42:39 +02:00
2007-05-21 09:18:19 -07:00
2007-05-17 05:23:04 -07:00
2007-05-21 09:18:19 -07:00
2007-05-16 21:19:15 -07:00
2007-05-21 09:18:19 -07:00
2007-05-08 13:37:51 +10:00
2007-05-17 05:23:05 -07:00
2007-05-21 09:18:19 -07:00
2007-05-23 20:14:15 -07:00
2007-05-23 20:14:13 -07:00