summaryrefslogtreecommitdiff
path: root/src/soc/intel/common/block/pmc
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/common/block/pmc')
-rw-r--r--src/soc/intel/common/block/pmc/pmclib.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/soc/intel/common/block/pmc/pmclib.c b/src/soc/intel/common/block/pmc/pmclib.c
index 7f132c765e..0b041cfe2f 100644
--- a/src/soc/intel/common/block/pmc/pmclib.c
+++ b/src/soc/intel/common/block/pmc/pmclib.c
@@ -425,7 +425,13 @@ static int pmc_prev_sleep_state(const struct chipset_power_state *ps)
/* Clear SLP_TYP. */
pmc_write_pm1_control(ps->pm1_cnt & ~(SLP_TYP));
}
- return soc_prev_sleep_state(ps, prev_sleep_state);
+
+ prev_sleep_state = soc_prev_sleep_state(ps, prev_sleep_state);
+
+ /* Clear PMC PMCON_x register power failure status bits. */
+ pmc_clear_pmcon_pwr_failure_sts();
+
+ return prev_sleep_state;
}
void pmc_fill_pm_reg_info(struct chipset_power_state *ps)