Просмотр исходного кода

bugfix: ringbuffer return item api

Report from chunguang, vRingbufferReturnItem should not call portENTER_CRITICAL_ISR
Wangjialin 9 лет назад
Родитель
Сommit
6d502cebe9
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      components/freertos/ringbuf.c

+ 2 - 2
components/freertos/ringbuf.c

@@ -609,9 +609,9 @@ void *xRingbufferReceiveUpToFromISR(RingbufHandle_t ringbuf, size_t *item_size,
 void vRingbufferReturnItem(RingbufHandle_t ringbuf, void *item) 
 {
     ringbuf_t *rb=(ringbuf_t *)ringbuf;
-    portENTER_CRITICAL_ISR(&rb->mux);
+    portENTER_CRITICAL(&rb->mux);
     rb->returnItemToRingbufImpl(rb, item);
-    portEXIT_CRITICAL_ISR(&rb->mux);
+    portEXIT_CRITICAL(&rb->mux);
     xSemaphoreGive(rb->free_space_sem);
 }