Commit 2780cc46 authored by Len Brown's avatar Len Brown Committed by Len Brown

[ACPI] Fix suspend/resume lockup issue

by leaving Bus Master Arbitration enabled.
The ACPI spec mandates it be disabled only for C3.

http://bugzilla.kernel.org/show_bug.cgi?id=3599Signed-off-by: default avatarDavid Shaohua Li <shaohua.li@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 6baa7c0c
...@@ -282,15 +282,6 @@ acpi_enter_sleep_state ( ...@@ -282,15 +282,6 @@ acpi_enter_sleep_state (
return_ACPI_STATUS (status); return_ACPI_STATUS (status);
} }
if (sleep_state != ACPI_STATE_S5) {
/* Disable BM arbitration */
status = acpi_set_register (ACPI_BITREG_ARB_DISABLE, 1, ACPI_MTX_DO_NOT_LOCK);
if (ACPI_FAILURE (status)) {
return_ACPI_STATUS (status);
}
}
/* /*
* 1) Disable/Clear all GPEs * 1) Disable/Clear all GPEs
* 2) Enable all wakeup GPEs * 2) Enable all wakeup GPEs
...@@ -581,13 +572,6 @@ acpi_leave_sleep_state ( ...@@ -581,13 +572,6 @@ acpi_leave_sleep_state (
(void) acpi_set_register(acpi_gbl_fixed_event_info[ACPI_EVENT_POWER_BUTTON].status_register_id, (void) acpi_set_register(acpi_gbl_fixed_event_info[ACPI_EVENT_POWER_BUTTON].status_register_id,
1, ACPI_MTX_DO_NOT_LOCK); 1, ACPI_MTX_DO_NOT_LOCK);
/* Enable BM arbitration */
status = acpi_set_register (ACPI_BITREG_ARB_DISABLE, 0, ACPI_MTX_LOCK);
if (ACPI_FAILURE (status)) {
return_ACPI_STATUS (status);
}
arg.integer.value = ACPI_SST_WORKING; arg.integer.value = ACPI_SST_WORKING;
status = acpi_evaluate_object (NULL, METHOD_NAME__SST, &arg_list, NULL); status = acpi_evaluate_object (NULL, METHOD_NAME__SST, &arg_list, NULL);
if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) { if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment