acpi: fix _OSI string setup regression
authorLin Ming <ming.m.lin@intel.com>
Thu, 9 Dec 2010 08:50:52 +0000 (16:50 +0800)
committerLen Brown <len.brown@intel.com>
Sat, 11 Dec 2010 06:28:58 +0000 (01:28 -0500)
commitd90aa92c0c1625d7f02050e4d2924805840cda3d
tree89696463c63038cb37609873951b0cdb4dc473f6
parentcf7d7e5a1980d1116ee152d25dac382b112b9c17
acpi: fix _OSI string setup regression

commit b0ed7a91(ACPICA/ACPI: Add new host interfaces for _OSI suppor)
introduced a regression that _OSI string setup fails.

There are 2 paths to setup _OSI string.

DMI:
acpi_dmi_osi_linux -> set_osi_linux -> acpi_osi_setup -> copy _OSI
string to osi_setup_string

Boot command line:
acpi_osi_setup -> copy _OSI string to osi_setup_string

Later, acpi_osi_setup_late will be called to handle osi_setup_string.
If _OSI string is "Linux" or "!Linux", then the call path is,

acpi_osi_setup_late -> acpi_cmdline_osi_linux -> set_osi_linux ->
acpi_osi_setup -> copy _OSI string to osi_setup_string

This actually never installs _OSI string(acpi_install_interface not
called), but just copy the _OSI string to osi_setup_string.

This patch fixes the regression.

Reported-and-tested-by: Lukas Hejtmanek <xhejtman@ics.muni.cz>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/osl.c
include/linux/acpi.h