|
|
@@ -780,7 +780,7 @@ int esp_intr_get_cpu(intr_handle_t handle)
|
|
|
esp_err_t IRAM_ATTR esp_intr_enable(intr_handle_t handle)
|
|
|
{
|
|
|
if (!handle) return ESP_ERR_INVALID_ARG;
|
|
|
- portENTER_CRITICAL(&spinlock);
|
|
|
+ portENTER_CRITICAL_SAFE(&spinlock);
|
|
|
int source;
|
|
|
if (handle->shared_vector_desc) {
|
|
|
handle->shared_vector_desc->disabled=0;
|
|
|
@@ -796,14 +796,14 @@ esp_err_t IRAM_ATTR esp_intr_enable(intr_handle_t handle)
|
|
|
if (handle->vector_desc->cpu!=xPortGetCoreID()) return ESP_ERR_INVALID_ARG; //Can only enable these ints on this cpu
|
|
|
ESP_INTR_ENABLE(handle->vector_desc->intno);
|
|
|
}
|
|
|
- portEXIT_CRITICAL(&spinlock);
|
|
|
+ portEXIT_CRITICAL_SAFE(&spinlock);
|
|
|
return ESP_OK;
|
|
|
}
|
|
|
|
|
|
esp_err_t IRAM_ATTR esp_intr_disable(intr_handle_t handle)
|
|
|
{
|
|
|
if (!handle) return ESP_ERR_INVALID_ARG;
|
|
|
- portENTER_CRITICAL(&spinlock);
|
|
|
+ portENTER_CRITICAL_SAFE(&spinlock);
|
|
|
int source;
|
|
|
bool disabled = 1;
|
|
|
if (handle->shared_vector_desc) {
|
|
|
@@ -831,12 +831,12 @@ esp_err_t IRAM_ATTR esp_intr_disable(intr_handle_t handle)
|
|
|
} else {
|
|
|
//Disable using per-cpu regs
|
|
|
if (handle->vector_desc->cpu!=xPortGetCoreID()) {
|
|
|
- portEXIT_CRITICAL(&spinlock);
|
|
|
+ portEXIT_CRITICAL_SAFE(&spinlock);
|
|
|
return ESP_ERR_INVALID_ARG; //Can only enable these ints on this cpu
|
|
|
}
|
|
|
ESP_INTR_DISABLE(handle->vector_desc->intno);
|
|
|
}
|
|
|
- portEXIT_CRITICAL(&spinlock);
|
|
|
+ portEXIT_CRITICAL_SAFE(&spinlock);
|
|
|
return ESP_OK;
|
|
|
}
|
|
|
|