mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-02 12:14:32 +02:00
components/bt: Add debug for HCI timeout
This commit is contained in:
@@ -60,7 +60,7 @@
|
|||||||
static xTaskHandle xBtcTaskHandle = NULL;
|
static xTaskHandle xBtcTaskHandle = NULL;
|
||||||
static xQueueHandle xBtcQueue = 0;
|
static xQueueHandle xBtcQueue = 0;
|
||||||
|
|
||||||
void bt_abort_with_coredump_log(void);
|
void bt_abort_with_coredump_log(uint16_t error);
|
||||||
|
|
||||||
static btc_func_t profile_tab[BTC_PID_NUM] = {
|
static btc_func_t profile_tab[BTC_PID_NUM] = {
|
||||||
[BTC_PID_MAIN_INIT] = {btc_main_call_handler, NULL },
|
[BTC_PID_MAIN_INIT] = {btc_main_call_handler, NULL },
|
||||||
@@ -156,7 +156,7 @@ static bt_status_t btc_task_post(btc_msg_t *msg, task_post_t timeout)
|
|||||||
BTC_TRACE_ERROR("Btc Post failed\n");
|
BTC_TRACE_ERROR("Btc Post failed\n");
|
||||||
#ifdef TASK_MONITOR_MODE
|
#ifdef TASK_MONITOR_MODE
|
||||||
ets_printf("!! Btc Post failed.Timeout Abort !!");
|
ets_printf("!! Btc Post failed.Timeout Abort !!");
|
||||||
bt_abort_with_coredump_log();
|
bt_abort_with_coredump_log(0);
|
||||||
#endif
|
#endif
|
||||||
return BT_STATUS_BUSY;
|
return BT_STATUS_BUSY;
|
||||||
}
|
}
|
||||||
|
@@ -33,7 +33,7 @@
|
|||||||
#include "osi/mutex.h"
|
#include "osi/mutex.h"
|
||||||
#include "osi/fixed_queue.h"
|
#include "osi/fixed_queue.h"
|
||||||
|
|
||||||
void bt_abort_with_coredump_log(void);
|
void bt_abort_with_coredump_log(uint16_t error);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint16_t opcode;
|
uint16_t opcode;
|
||||||
@@ -145,7 +145,7 @@ task_post_status_t hci_host_task_post(task_post_t timeout)
|
|||||||
if (xQueueSend(xHciHostQueue, &evt, timeout) != pdTRUE) {
|
if (xQueueSend(xHciHostQueue, &evt, timeout) != pdTRUE) {
|
||||||
#ifdef TASK_MONITOR_MODE
|
#ifdef TASK_MONITOR_MODE
|
||||||
ets_printf("!! HCI send fail.Timeout Abort !!");
|
ets_printf("!! HCI send fail.Timeout Abort !!");
|
||||||
bt_abort_with_coredump_log();
|
bt_abort_with_coredump_log(0);
|
||||||
#endif
|
#endif
|
||||||
HCI_TRACE_ERROR("xHciHostQueue failed\n");
|
HCI_TRACE_ERROR("xHciHostQueue failed\n");
|
||||||
return TASK_POST_FAIL;
|
return TASK_POST_FAIL;
|
||||||
@@ -432,7 +432,7 @@ static void command_timed_out(void *context)
|
|||||||
// If it's caused by a software bug, fix it. If it's a hardware bug, fix it.
|
// If it's caused by a software bug, fix it. If it's a hardware bug, fix it.
|
||||||
{
|
{
|
||||||
HCI_TRACE_ERROR("%s hci layer timeout waiting for response to a command. opcode: 0x%x", __func__, wait_entry->opcode);
|
HCI_TRACE_ERROR("%s hci layer timeout waiting for response to a command. opcode: 0x%x", __func__, wait_entry->opcode);
|
||||||
abort();
|
bt_abort_with_coredump_log(wait_entry->opcode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -81,7 +81,7 @@ extern void avdt_rcv_sync_info (BT_HDR *p_buf);
|
|||||||
#include "btm_ble_int.h"
|
#include "btm_ble_int.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void bt_abort_with_coredump_log(void);
|
void bt_abort_with_coredump_log(uint16_t error);
|
||||||
|
|
||||||
//#if (defined(BT_APP_DEMO) && BT_APP_DEMO == TRUE)
|
//#if (defined(BT_APP_DEMO) && BT_APP_DEMO == TRUE)
|
||||||
//#include "bt_app_common.h"
|
//#include "bt_app_common.h"
|
||||||
@@ -269,7 +269,7 @@ task_post_status_t btu_task_post(uint32_t sig, void *param, task_post_t timeout)
|
|||||||
|
|
||||||
#ifdef TASK_MONITOR_MODE
|
#ifdef TASK_MONITOR_MODE
|
||||||
ets_printf("!! Btu Post failed.Timeout Abort !!");
|
ets_printf("!! Btu Post failed.Timeout Abort !!");
|
||||||
bt_abort_with_coredump_log();
|
bt_abort_with_coredump_log(0);
|
||||||
#endif
|
#endif
|
||||||
return TASK_POST_FAIL;
|
return TASK_POST_FAIL;
|
||||||
}
|
}
|
||||||
|
@@ -1461,7 +1461,7 @@ void esp_bt_check_need_restart()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void bt_abort_with_coredump_log(void)
|
void bt_abort_with_coredump_log(uint16_t error)
|
||||||
{
|
{
|
||||||
__asm__ __volatile__("ill\n");
|
__asm__ __volatile__("ill\n");
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user