@@ -110,7 +110,7 @@ int ble_hci_trans_hs_cmd_tx(uint8_t *cmd)
110110 if (xSemaphoreTake (vhci_send_sem , NIMBLE_VHCI_TIMEOUT_MS / portTICK_PERIOD_MS ) == pdTRUE ) {
111111/* esp_ipc_call_blocking does not exist for solo */
112112#ifndef CONFIG_FREERTOS_UNICORE
113- if (xPortGetCoreID () != CONFIG_BT_NIMBLE_PINNED_TO_CORE ) {
113+ if (xPortGetCoreID () != CONFIG_BT_NIMBLE_PINNED_TO_CORE && ! xPortInIsrContext () ) {
114114 esp_ipc_call_blocking (CONFIG_BT_NIMBLE_PINNED_TO_CORE ,
115115 ble_hci_trans_hs_cmd_tx_on_core , cmd );
116116 } else {
@@ -166,7 +166,7 @@ int ble_hci_trans_hs_acl_tx(struct os_mbuf *om)
166166/* Don't check core ID if unicore */
167167#ifndef CONFIG_FREERTOS_UNICORE
168168 tx_using_nimble_core = xPortGetCoreID () != CONFIG_BT_NIMBLE_PINNED_TO_CORE ;
169- if (tx_using_nimble_core ) {
169+ if (tx_using_nimble_core && ! xPortInIsrContext () ) {
170170 data [0 ] = len ;
171171 data [1 ] = (len >> 8 );
172172 data [2 ] = BLE_HCI_UART_H4_ACL ;
@@ -183,7 +183,7 @@ int ble_hci_trans_hs_acl_tx(struct os_mbuf *om)
183183 if (xSemaphoreTake (vhci_send_sem , NIMBLE_VHCI_TIMEOUT_MS / portTICK_PERIOD_MS ) == pdTRUE ) {
184184/* esp_ipc_call_blocking does not exist for solo */
185185#ifndef CONFIG_FREERTOS_UNICORE
186- if (tx_using_nimble_core ) {
186+ if (tx_using_nimble_core && ! xPortInIsrContext () ) {
187187 esp_ipc_call_blocking (CONFIG_BT_NIMBLE_PINNED_TO_CORE ,
188188 ble_hci_trans_hs_acl_tx_on_core , data );
189189 } else {
0 commit comments