]> granicus.if.org Git - esp-idf/commitdiff
rmt: port*_CRITICAL vanilla FreeRTOS compliance
authorSachin Parekh <sachin.parekh@espressif.com>
Mon, 25 Mar 2019 10:36:22 +0000 (16:06 +0530)
committerSachin Parekh <sachin.parekh@espressif.com>
Mon, 13 May 2019 11:09:19 +0000 (16:39 +0530)
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
components/driver/rmt.c

index 5bf01bbd2db62e2976ad20f9defffd95d25be749..af345a49426c7a8e255e5ceaced29fcad52abd3e 100644 (file)
@@ -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;