diff options
author | Jouni Hogander <jouni.hogander@nokia.com> | 2008-10-29 06:06:04 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2009-08-05 12:10:54 -0400 |
commit | 6c5f80393b107b0c9e2a54b03b65d1880e706655 (patch) | |
tree | 2264c181082b87f1f696bc8d75036ac351376c3d /arch | |
parent | 60c45ae1107c4ec47d2c84e5984ea59d02b2863d (diff) |
OMAP3: PM: Fix wrong sequence in suspend.
Powerdomain previous state is checked after restoring new states in
suspend. This patch fixes this problem.
Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/pm34xx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index b07efb26de18..488d595d8e4b 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c | |||
@@ -326,7 +326,6 @@ static int omap3_pm_suspend(void) | |||
326 | restore: | 326 | restore: |
327 | /* Restore next_pwrsts */ | 327 | /* Restore next_pwrsts */ |
328 | list_for_each_entry(pwrst, &pwrst_list, node) { | 328 | list_for_each_entry(pwrst, &pwrst_list, node) { |
329 | set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state); | ||
330 | state = pwrdm_read_prev_pwrst(pwrst->pwrdm); | 329 | state = pwrdm_read_prev_pwrst(pwrst->pwrdm); |
331 | if (state > pwrst->next_state) { | 330 | if (state > pwrst->next_state) { |
332 | printk(KERN_INFO "Powerdomain (%s) didn't enter " | 331 | printk(KERN_INFO "Powerdomain (%s) didn't enter " |
@@ -334,6 +333,7 @@ restore: | |||
334 | pwrst->pwrdm->name, pwrst->next_state); | 333 | pwrst->pwrdm->name, pwrst->next_state); |
335 | ret = -1; | 334 | ret = -1; |
336 | } | 335 | } |
336 | set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state); | ||
337 | } | 337 | } |
338 | if (ret) | 338 | if (ret) |
339 | printk(KERN_ERR "Could not enter target state in pm_suspend\n"); | 339 | printk(KERN_ERR "Could not enter target state in pm_suspend\n"); |