ARM: OMAP1: Fix pm_idle during suspend
authorNicolas Pitre <nicolas.pitre@linaro.org>
Mon, 19 Dec 2011 17:11:11 +0000 (09:11 -0800)
committerNicolas Pitre <nico@fluxnic.net>
Fri, 20 Jan 2012 23:55:05 +0000 (18:55 -0500)
Commit 9ccdac3662dbf3c75e8f8851a214bdf7d365a4bd ([ARM] idle:
clean up pm_idle calling, obey hlt_counter) removed a check
for NULL pm_idle.

Replace the NULL assignment in the OMAP1 code with disable_hlt()
to be in sync with the core code and restore the intended behavior.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap1/pm.c

index 89ea20ca0cccbc02c0ccba365547942e8c41ea93..6c6a2dc554ef13459d8e68463672f3b4e78a794c 100644 (file)
@@ -583,8 +583,6 @@ static void omap_pm_init_proc(void)
 
 #endif /* DEBUG && CONFIG_PROC_FS */
 
-static void (*saved_idle)(void) = NULL;
-
 /*
  *     omap_pm_prepare - Do preliminary suspend work.
  *
@@ -592,8 +590,7 @@ static void (*saved_idle)(void) = NULL;
 static int omap_pm_prepare(void)
 {
        /* We cannot sleep in idle until we have resumed */
-       saved_idle = pm_idle;
-       pm_idle = NULL;
+       disable_hlt();
 
        return 0;
 }
@@ -630,7 +627,7 @@ static int omap_pm_enter(suspend_state_t state)
 
 static void omap_pm_finish(void)
 {
-       pm_idle = saved_idle;
+       enable_hlt();
 }