From f05baecc5a1b35177edcaae3d09c6f9c38819b93 Mon Sep 17 00:00:00 2001 From: armink Date: Mon, 29 Oct 2018 19:02:31 +0800 Subject: [PATCH] [DeviceDriver][pm] Update pm driver. --- components/drivers/pm/pm.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/drivers/pm/pm.c b/components/drivers/pm/pm.c index bd8a0a5e95..655c4b4c02 100644 --- a/components/drivers/pm/pm.c +++ b/components/drivers/pm/pm.c @@ -238,7 +238,15 @@ void rt_pm_request(rt_ubase_t mode) * if not, it has already called in rt_pm_exit() */ if (pm->current_mode < PM_SLEEP_MODE_START) + { pm->ops->exit(pm); + } + else if (pm->exit_count) + { + /* call exeit when global interrupt is disable */ + pm->ops->exit(pm); + pm->exit_count = 0; + } /* update current mode */ pm->current_mode = mode;