{
bool need_switch = false;
uint32_t mode_mask = BIT(mode);
- portENTER_CRITICAL(&s_switch_lock);
+ portENTER_CRITICAL_SAFE(&s_switch_lock);
uint32_t count;
if (lock_or_unlock == MODE_LOCK) {
count = ++s_mode_lock_counts[mode];
s_last_mode_change_time = now;
#endif // WITH_PROFILING
}
- portEXIT_CRITICAL(&s_switch_lock);
+ portEXIT_CRITICAL_SAFE(&s_switch_lock);
if (need_switch && new_mode != s_mode) {
do_switch(new_mode);
}
return ESP_ERR_INVALID_ARG;
}
- portENTER_CRITICAL(&handle->spinlock);
+ portENTER_CRITICAL_SAFE(&handle->spinlock);
if (handle->count++ == 0) {
pm_time_t now = 0;
#ifdef WITH_PROFILING
handle->times_taken++;
#endif
}
- portEXIT_CRITICAL(&handle->spinlock);
+ portEXIT_CRITICAL_SAFE(&handle->spinlock);
return ESP_OK;
}
return ESP_ERR_INVALID_ARG;
}
esp_err_t ret = ESP_OK;
- portENTER_CRITICAL(&handle->spinlock);
+ portENTER_CRITICAL_SAFE(&handle->spinlock);
if (handle->count == 0) {
ret = ESP_ERR_INVALID_STATE;
goto out;
esp_pm_impl_switch_mode(handle->mode, MODE_UNLOCK, now);
}
out:
- portEXIT_CRITICAL(&handle->spinlock);
+ portEXIT_CRITICAL_SAFE(&handle->spinlock);
return ret;
}
-
esp_err_t esp_pm_dump_locks(FILE* stream)
{
#ifndef CONFIG_PM_ENABLE
#endif
return ESP_OK;
}
-
-