diff options
| author | armink <[email protected]> | 2018-10-29 19:02:31 +0800 |
|---|---|---|
| committer | armink <[email protected]> | 2018-10-29 19:02:31 +0800 |
| commit | f05baecc5a1b35177edcaae3d09c6f9c38819b93 (patch) | |
| tree | 0043fbcf210fee41ba65193fca39c850ac9ed6ad /components | |
| parent | 2d59fe031038e94dd626f3b172653bcb9bab9a2d (diff) | |
[DeviceDriver][pm] Update pm driver.
Diffstat (limited to 'components')
| -rw-r--r-- | components/drivers/pm/pm.c | 8 |
1 files changed, 8 insertions, 0 deletions
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; |
