From bd177a34c6977efede0a9aedcd7948626c2f489b Mon Sep 17 00:00:00 2001 From: Mahavir Jain Date: Sun, 1 Jul 2018 19:05:00 +0530 Subject: [PATCH] bt: fix OS abstraction layer for correct critical section API usage Signed-off-by: Mahavir Jain --- components/bt/bt.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/components/bt/bt.c b/components/bt/bt.c index 71b2e28b7..b90ccc8ea 100644 --- a/components/bt/bt.c +++ b/components/bt/bt.c @@ -254,12 +254,20 @@ bool IRAM_ATTR btdm_queue_generic_deregister(btdm_queue_item_t *queue) static void IRAM_ATTR interrupt_disable(void) { - portENTER_CRITICAL(&global_int_mux); + if (xPortInIsrContext()) { + portENTER_CRITICAL_ISR(&global_int_mux); + } else { + portENTER_CRITICAL(&global_int_mux); + } } static void IRAM_ATTR interrupt_restore(void) { - portEXIT_CRITICAL(&global_int_mux); + if (xPortInIsrContext()) { + portEXIT_CRITICAL_ISR(&global_int_mux); + } else { + portEXIT_CRITICAL(&global_int_mux); + } } static void IRAM_ATTR task_yield_from_isr(void)