Skip to content

Commit

Permalink
cpuidle: fix AMD C1E suspend hang
Browse files Browse the repository at this point in the history
When AMD C1E is enabled, local APIC timer will stop even in C1. To avoid
suspend/resume hang, this patch removes C1 and replace it with a cpu_relax() in
suspend/resume path. This hasn't any impact in runtime path.

http://bugzilla.kernel.org/show_bug.cgi?id=13233

[ impact: avoid suspend/resume hang in AMD CPU with C1E enabled ]

Tested-by: Dmitry Lyzhyn <thisistempbox@yahoo.com>
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Shaohua Li authored and Len Brown committed May 27, 2009
1 parent 87ad57b commit 7d60e8a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/acpi/processor_idle.c
Original file line number Diff line number Diff line change
Expand Up @@ -834,8 +834,8 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev,

/* Do not access any ACPI IO ports in suspend path */
if (acpi_idle_suspend) {
acpi_safe_halt();
local_irq_enable();
cpu_relax();
return 0;
}

Expand Down

0 comments on commit 7d60e8a

Please sign in to comment.