|
@@ -224,7 +224,6 @@ static void lapic_timer_state_broadcast(struct acpi_processor *pr,
|
|
|
/*
|
|
|
* Suspend / resume control
|
|
|
*/
|
|
|
-static int acpi_idle_suspend;
|
|
|
static u32 saved_bm_rld;
|
|
|
|
|
|
static void acpi_idle_bm_rld_save(void)
|
|
@@ -243,21 +242,13 @@ static void acpi_idle_bm_rld_restore(void)
|
|
|
|
|
|
int acpi_processor_suspend(struct acpi_device * device, pm_message_t state)
|
|
|
{
|
|
|
- if (acpi_idle_suspend == 1)
|
|
|
- return 0;
|
|
|
-
|
|
|
acpi_idle_bm_rld_save();
|
|
|
- acpi_idle_suspend = 1;
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
int acpi_processor_resume(struct acpi_device * device)
|
|
|
{
|
|
|
- if (acpi_idle_suspend == 0)
|
|
|
- return 0;
|
|
|
-
|
|
|
acpi_idle_bm_rld_restore();
|
|
|
- acpi_idle_suspend = 0;
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -763,13 +754,6 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev,
|
|
|
|
|
|
local_irq_disable();
|
|
|
|
|
|
- /* Do not access any ACPI IO ports in suspend path */
|
|
|
- if (acpi_idle_suspend) {
|
|
|
- local_irq_enable();
|
|
|
- cpu_relax();
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
-
|
|
|
lapic_timer_state_broadcast(pr, cx, 1);
|
|
|
kt1 = ktime_get_real();
|
|
|
acpi_idle_do_entry(cx);
|
|
@@ -810,13 +794,6 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
|
|
|
|
|
|
local_irq_disable();
|
|
|
|
|
|
- if (acpi_idle_suspend) {
|
|
|
- local_irq_enable();
|
|
|
- cpu_relax();
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
if (cx->entry_method != ACPI_CSTATE_FFH) {
|
|
|
current_thread_info()->status &= ~TS_POLLING;
|
|
|
/*
|
|
@@ -895,12 +872,6 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
|
|
|
if (unlikely(!pr))
|
|
|
return -EINVAL;
|
|
|
|
|
|
-
|
|
|
- if (acpi_idle_suspend) {
|
|
|
- cpu_relax();
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
-
|
|
|
if (!cx->bm_sts_skip && acpi_idle_bm_check()) {
|
|
|
if (drv->safe_state_index >= 0) {
|
|
|
return drv->states[drv->safe_state_index].enter(dev,
|