Merge branch 'bugfix/crash_after_bluedroid_deinit_v5.1' into 'release/v5.1'

fix(bt/bluedroid): Fixed controller using null pointer after bluedroid deinit(v5.1)

See merge request espressif/esp-idf!30328
This commit is contained in:
Jiang Jiang Jian 2024-07-01 10:20:53 +08:00
commit 6b60fc715f

View File

@ -140,6 +140,10 @@ void hci_shut_down(void)
bool hci_downstream_data_post(uint32_t timeout) bool hci_downstream_data_post(uint32_t timeout)
{ {
if (hci_host_env.downstream_data_ready == NULL) {
HCI_TRACE_WARNING("%s downstream_data_ready event not created", __func__);
return false;
}
return osi_thread_post_event(hci_host_env.downstream_data_ready, timeout); return osi_thread_post_event(hci_host_env.downstream_data_ready, timeout);
} }
@ -259,7 +263,7 @@ static void transmit_command(
// in case the upper layer didn't already // in case the upper layer didn't already
command->event = MSG_STACK_TO_HC_HCI_CMD; command->event = MSG_STACK_TO_HC_HCI_CMD;
HCI_TRACE_DEBUG("HCI Enqueue Comamnd opcode=0x%x\n", metadata->opcode); HCI_TRACE_DEBUG("HCI Enqueue Command opcode=0x%x\n", metadata->opcode);
BTTRC_DUMP_BUFFER(NULL, command->data + command->offset, command->len); BTTRC_DUMP_BUFFER(NULL, command->data + command->offset, command->len);
fixed_pkt_queue_enqueue(hci_host_env.command_queue, linked_pkt, FIXED_PKT_QUEUE_MAX_TIMEOUT); fixed_pkt_queue_enqueue(hci_host_env.command_queue, linked_pkt, FIXED_PKT_QUEUE_MAX_TIMEOUT);