diff options
author | Lv Zheng <lv.zheng@intel.com> | 2014-03-24 02:49:22 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-03-26 11:26:00 -0400 |
commit | 08e1d7c0290aaef6bc6d68be8df753ffec02a6ae (patch) | |
tree | b010d6b9ce270fa2c4e210534580378b5f1c11a7 /drivers/acpi | |
parent | d18255795bf98b3f25dbc5334b8a615943c3dcca (diff) |
ACPICA: Enable auto-serialization as a default kernel behavior.
The previous commit "ACPICA: Add auto-serialization support for ill-behaved
control methods" introduced the auto-serialization facility as a workaround
that can be enabled by "acpi_auto_serialize":
This feature marks control methods that create named objects as "serialized"
to avoid unwanted AE_ALREADY_EXISTS control method evaluation failures.
Enable method auto-serialization as the default kernel behavior. The new kernel
parameter is also changed from "acpi_auto_serialize" to "acpi_no_auto_serialize"
to reflect the default behavior.
References: https://bugzilla.kernel.org/show_bug.cgi?id=52191
References: http://www.spinics.net/lists/linux-acpi/msg49496.html
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/acpica/acglobal.h | 2 | ||||
-rw-r--r-- | drivers/acpi/osl.c | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h index ea0f8389ccde..49bbc71fad54 100644 --- a/drivers/acpi/acpica/acglobal.h +++ b/drivers/acpi/acpica/acglobal.h | |||
@@ -99,7 +99,7 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_enable_interpreter_slack, FALSE); | |||
99 | * that create named objects are marked Serialized in order to prevent | 99 | * that create named objects are marked Serialized in order to prevent |
100 | * possible run-time problems if they are entered by more than one thread. | 100 | * possible run-time problems if they are entered by more than one thread. |
101 | */ | 101 | */ |
102 | ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, FALSE); | 102 | ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, TRUE); |
103 | 103 | ||
104 | /* | 104 | /* |
105 | * Create the predefined _OSI method in the namespace? Default is TRUE | 105 | * Create the predefined _OSI method in the namespace? Default is TRUE |
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 74a160cf85b9..a3109ffcfa98 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -1540,20 +1540,20 @@ static int __init osi_setup(char *str) | |||
1540 | __setup("acpi_osi=", osi_setup); | 1540 | __setup("acpi_osi=", osi_setup); |
1541 | 1541 | ||
1542 | /* | 1542 | /* |
1543 | * Enable the auto-serialization of named objects creation methods. | 1543 | * Disable the auto-serialization of named objects creation methods. |
1544 | * | 1544 | * |
1545 | * This feature is disabled by default. It marks the AML control methods | 1545 | * This feature is enabled by default. It marks the AML control methods |
1546 | * that contain the opcodes to create named objects as "Serialized". | 1546 | * that contain the opcodes to create named objects as "Serialized". |
1547 | */ | 1547 | */ |
1548 | static int __init acpi_auto_serialize_setup(char *str) | 1548 | static int __init acpi_no_auto_serialize_setup(char *str) |
1549 | { | 1549 | { |
1550 | acpi_gbl_auto_serialize_methods = TRUE; | 1550 | acpi_gbl_auto_serialize_methods = FALSE; |
1551 | pr_info("ACPI: auto-serialization enabled\n"); | 1551 | pr_info("ACPI: auto-serialization disabled\n"); |
1552 | 1552 | ||
1553 | return 1; | 1553 | return 1; |
1554 | } | 1554 | } |
1555 | 1555 | ||
1556 | __setup("acpi_auto_serialize", acpi_auto_serialize_setup); | 1556 | __setup("acpi_no_auto_serialize", acpi_no_auto_serialize_setup); |
1557 | 1557 | ||
1558 | /* Check of resource interference between native drivers and ACPI | 1558 | /* Check of resource interference between native drivers and ACPI |
1559 | * OperationRegions (SystemIO and System Memory only). | 1559 | * OperationRegions (SystemIO and System Memory only). |