Răsfoiți Sursa

bugfix: ringbuffer return item api

Report from chunguang, vRingbufferReturnItem should not call portENTER_CRITICAL_ISR
Wangjialin 9 ani în urmă
părinte
comite
6d502cebe9
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  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);
 }