synchronize_sched() can't guarantee all cpus exit idle loop, use correct API Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx> diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index 788da97..ed12897 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -1308,7 +1308,7 @@ int acpi_processor_cst_has_changed(struct acpi_processor *pr) /* Fall back to the default idle loop */ pm_idle = pm_idle_save; - synchronize_sched(); /* Relies on interrupts forcing exit from idle. */ + cpu_idle_wait(); /* Force CPUs exit idle loop */ pr->flags.power = 0; result = acpi_processor_get_power_info(pr); -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html