]> 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)
committerbot <bot@espressif.com>
Tue, 25 Jun 2019 04:33:32 +0000 (04:33 +0000)
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
components/driver/rmt.c

index 7a5443eba506fbea7500f3ff9a2472fa2a1e8762..2d1a2bc247f9932ade57c78b8aca588a6b683f57 100644 (file)
@@ -501,9 +501,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;