There should be only one workqueue for BTU task. The queue length for the second workqueue of BTU can be uninitialized and caused memory overflow and corruption.
Closes https://github.com/espressif/esp-idf/issues/9507
some fixes after modifications:
1. removed the use of waiting_command_t
2. fix assert for HCI write_eir command
3. fixed the crash upon handling command status event when trying to free to the HCI command buffer
4. fixed the issue in transmitting HCI vendor specific commands
5. fixed the lost command complete callbacks for HCI commands LE_RAND and LE_ENCRYPT
use eventgroup to sync spp_vfs_write
each connection has a switch_delay_timer not sharing a one
revert functions like spp_find_slot_by_xxx
fix vfs read bug when peer close
1. Add logs for SPP not enabled successfully
2. Add information to Applicatioin layer that the A2DP is connecting to peer device
Regular BTC and BTU Task name & Add BTC Init protection
1. Regular the BTC Task Name to Close a Github issue
Closes https://github.com/espressif/esp-idf/issues/4966
2. Add BTC Init failure protection
3. Regular BTU Task Name with BTC
4. Correct the comment of
a. SDP_ServiceSearchRequest and SDP_ServiceSearchRequest2
b. l2cu_create_conn_after_switch
5. Correct comment of esp_bt_hf_vra();
6. Fix cpp compilier region