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>
This commit is contained in:
committed by
Kevin Hilman
parent
60c45ae110
commit
6c5f80393b
@@ -326,7 +326,6 @@ static int omap3_pm_suspend(void)
|
|||||||
restore:
|
restore:
|
||||||
/* Restore next_pwrsts */
|
/* Restore next_pwrsts */
|
||||||
list_for_each_entry(pwrst, &pwrst_list, node) {
|
list_for_each_entry(pwrst, &pwrst_list, node) {
|
||||||
set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state);
|
|
||||||
state = pwrdm_read_prev_pwrst(pwrst->pwrdm);
|
state = pwrdm_read_prev_pwrst(pwrst->pwrdm);
|
||||||
if (state > pwrst->next_state) {
|
if (state > pwrst->next_state) {
|
||||||
printk(KERN_INFO "Powerdomain (%s) didn't enter "
|
printk(KERN_INFO "Powerdomain (%s) didn't enter "
|
||||||
@@ -334,6 +333,7 @@ restore:
|
|||||||
pwrst->pwrdm->name, pwrst->next_state);
|
pwrst->pwrdm->name, pwrst->next_state);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
|
set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state);
|
||||||
}
|
}
|
||||||
if (ret)
|
if (ret)
|
||||||
printk(KERN_ERR "Could not enter target state in pm_suspend\n");
|
printk(KERN_ERR "Could not enter target state in pm_suspend\n");
|
||||||
|
Reference in New Issue
Block a user