From: Sachin Parekh Date: Mon, 25 Mar 2019 10:36:22 +0000 (+0530) Subject: rmt: port*_CRITICAL vanilla FreeRTOS compliance X-Git-Tag: v4.0-beta1~336^2~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=da41885e85313c2ca722f930966a39e81507dc0a;p=esp-idf rmt: port*_CRITICAL vanilla FreeRTOS compliance Signed-off-by: Sachin Parekh --- diff --git a/components/driver/rmt.c b/components/driver/rmt.c index 5bf01bbd2d..af345a4942 100644 --- a/components/driver/rmt.c +++ b/components/driver/rmt.c @@ -502,9 +502,9 @@ esp_err_t rmt_config(const rmt_config_t* rmt_param) static void IRAM_ATTR rmt_fill_memory(rmt_channel_t channel, const rmt_item32_t* item, uint16_t item_num, uint16_t mem_offset) { - portENTER_CRITICAL(&rmt_spinlock); + portENTER_CRITICAL_SAFE(&rmt_spinlock); RMT.apb_conf.fifo_mask = RMT_DATA_MODE_MEM; - portEXIT_CRITICAL(&rmt_spinlock); + portEXIT_CRITICAL_SAFE(&rmt_spinlock); int i; for(i = 0; i < item_num; i++) { RMTMEM.chan[channel].data32[i + mem_offset].val = item[i].val;