diff options
author | Lv Zheng <lv.zheng@intel.com> | 2014-03-24 14:49:22 +0800 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-03-26 16:26:00 +0100 |
commit | 08e1d7c0290aaef6bc6d68be8df753ffec02a6ae (patch) | |
tree | b010d6b9ce270fa2c4e210534580378b5f1c11a7 | |
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>
-rw-r--r-- | Documentation/kernel-parameters.txt | 8 | ||||
-rw-r--r-- | drivers/acpi/acpica/acglobal.h | 2 | ||||
-rw-r--r-- | drivers/acpi/osl.c | 12 |
3 files changed, 11 insertions, 11 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index a159537ea880..91f0be8555f5 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -229,13 +229,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. use by PCI Format: <irq>,<irq>... - acpi_auto_serialize [HW,ACPI] - Enable auto-serialization of AML methods + acpi_no_auto_serialize [HW,ACPI] + Disable auto-serialization of AML methods AML control methods that contain the opcodes to create named objects will be marked as "Serialized" by the auto-serialization feature. - This feature is disabled by default. - This option allows to turn on the feature. + This feature is enabled by default. + This option allows to turn off the feature. acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT 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); * that create named objects are marked Serialized in order to prevent * possible run-time problems if they are entered by more than one thread. */ -ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, FALSE); +ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, TRUE); /* * 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) __setup("acpi_osi=", osi_setup); /* - * Enable the auto-serialization of named objects creation methods. + * Disable the auto-serialization of named objects creation methods. * - * This feature is disabled by default. It marks the AML control methods + * This feature is enabled by default. It marks the AML control methods * that contain the opcodes to create named objects as "Serialized". */ -static int __init acpi_auto_serialize_setup(char *str) +static int __init acpi_no_auto_serialize_setup(char *str) { - acpi_gbl_auto_serialize_methods = TRUE; - pr_info("ACPI: auto-serialization enabled\n"); + acpi_gbl_auto_serialize_methods = FALSE; + pr_info("ACPI: auto-serialization disabled\n"); return 1; } -__setup("acpi_auto_serialize", acpi_auto_serialize_setup); +__setup("acpi_no_auto_serialize", acpi_no_auto_serialize_setup); /* Check of resource interference between native drivers and ACPI * OperationRegions (SystemIO and System Memory only). |