Commit Graph
60 Commits
Author SHA1 Message Date
yangfeng 76a3f84779 fix(bt/example): Add log in the failure path for avrcp_ct_metadata example 2026-07-22 15:36:27 +08:00
yangfeng ca77dffadc fix(bt): Fix the validation of AVRCP metadata attr_id in handle_rc_attributes_rsp 2026-07-19 10:26:33 +08:00
yangfeng e472bc3868 fix(bt/bluedroid): Fix unchecked p_ctrl_cback and p_msg_cback in AVRC
Closes SEC-1186
2026-07-19 10:21:29 +08:00
yangfeng a3088cdce1 fix(bt/bluedroid): Fix missing NULL check on p_cfg in AVDT_ReconfigReq
Closes SEC-1187
2026-07-19 10:21:29 +08:00
yangfeng 41897b6239 fix(bt/example): Add print the device name to verify if it matches in HID example 2026-07-08 15:28:06 +08:00
yangfeng 9e5416b346 fix: Fix the HFP example fails to discovery target device 2026-07-02 15:04:48 +08:00
yangfeng fe06f59a88 fix(bt): Fix the critical issues related to A2DP from AI review report
AVDT:
- Roll back CCB allocation when cmd/rsp queue creation fails
- Free media packet on invalid handle in AVDT_WriteReqOpt
- Zero-init timeout failure message before GETCAP callback
- Initialize lcid_tbl to 0xFF to avoid mapping to tc_tbl[0]
BTA/AVRCP:
- Use size_t for AVRC message copy buffer allocation
- Allocate before register in BTA_AvEnable
- Guard BTA_AvRegister callback when enable never completed
- Remove invalid free of inline Cover Art image_descriptor
A2DP BTC/API:
- Default g_a2dp_on_deinit to true before profile init
- Reject source audio send when A2DP is deiniting
- Add shutdown state check in btc_a2dp_sink_shutdown
- Guard A2DP source timer against freed dynamic local param
2026-06-29 15:00:49 +08:00
yangfeng 84e210df45 fix: Fix the critical issues of btu and bt_common from AI review report
- advance connect queue on synchronous connect_cb failure
- lock bta_alarm_hash_map in all BTA timer APIs
- free controller params after stack disable; cleanup on init fail
- handle BTE_InitStack failure and signal init future
- validate HCI remote name event length before parse
- drop stale L2CAP quick-timer alarm events
2026-06-29 14:46:01 +08:00
yangfeng e27d9efe13 fix(bt): Fix the high issues related to AVRCP from AI review report
- SDP/registration: handle SDP record creation and discovery failures safely
- AVRC stack: fix packet checks, fragment leaks, response build, and compile guards
- BTC AVRCP: fix return codes, connection state, metadata parsing, and memory leaks
- AVCTP: fix event passing, L2CAP conflicts, TX queue leaks, and disconnect handling
- Example: remove TG RN capability setup before initialization
2026-06-25 14:48:50 +08:00
yangfeng 021caefcd5 fix(bt): Fix the critical issues related to AVRCP from AI review report
- recalculate len_left per attribute in avrc_bld_app_setting_text_rsp
- abort fragmented message reassembly when reassembly buffer alloc fails
2026-06-25 14:47:38 +08:00
yangfeng a3f1ba390e fix(bt): Fix the critical issues related to HFP from AI review report
HFP AG:
- Fix mSBC EV3 second-packet payload length calculation to prevent OOB read and infinite loop
- Add init/deinit guards in HF AG helper functions to avoid NULL deref
- Return bt_status_t from btc_hf_ag_audio_data_send to avoid silent buffer leak on SLC failure
- Break SCO CI data loop when SCO is not open to prevent CPU starvation
- Guard BTM_FreeSCN(0) and reset SCN after free in bta_ag_del_records
- Use OI_UINT32 for mSBC decode frame length to avoid stack corruption
- Bound AT Dial command string copy to BTA_AG_AT_MAX_LEN
HFP Client:
- Check osi_calloc result before use when reassembling split mSBC frames
- Use OI_UINT32 for mSBC decode frame length to avoid stack corruption
- Free SDP db, collision/AT timers and queued AT cmds before scb reset on disable
- Fix mSBC EV3 second-packet payload length calculation (same as AG)
- Reject pcm_resample input smaller than overlap window (96 bytes) on filtered path
- Break SCO CI data loop when SCO is not open to prevent CPU starvation
- Guard BTM_FreeSCN(0) and reset SCN after free in bta_hf_client_del_record
2026-06-25 12:08:06 +08:00
yangfeng 774c334372 fix: Fix the incorrect connection of the same-name devices in the HFP example 2026-06-10 19:12:31 +08:00
yangfeng 539b98274f fix: Fix the potential stack overflow issue in the Classic Bluetooth example 2026-06-09 09:42:04 +08:00
yangfeng 023639b75b fix: Fix missing handling for HCI_ERR_CONNECTION_EXISTS
- Closes https://github.com/espressif/esp-idf/issues/18562
2026-06-05 14:17:47 +08:00
yangfeng 001dc26361 fix: Remove the check for recv and send being NULL 2026-05-18 15:13:58 +08:00
yangfeng aa10a3a2d1 fix(bt/example): fix critical issues of classic_bt examples reported by AI review 2026-05-11 11:24:52 +08:00
yangfeng acf9f2bb47 fix(bt): fix A2DP stack component issues reported by AI review 2026-04-28 15:15:35 +08:00
yangfeng 436c5ab14b fix(bt): fix A2DP bta component issues reported by AI review 2026-04-28 15:15:35 +08:00
yangfeng bdda22b90b fix(bt): fix A2DP api and btc component issues reported by AI review 2026-04-28 15:15:35 +08:00
yangfeng e0911c8503 fix(bt): fix AVRCP component issues reported by AI review 2026-04-23 16:05:26 +08:00
yangfeng fb9b5f64d2 fix(bt): fix HFP api and btc component issues reported by AI review 2026-04-23 16:03:00 +08:00
yangfeng 1036ef7ac2 fix(bt): fix HFP bta component issues reported by AI review 2026-04-23 16:03:00 +08:00
yangfeng d259dd4bc2 fix(bt): avoid deleting device record on partial transport cleanup 2026-04-07 10:23:34 +08:00
yangfeng 960e806c34 fix(bt/example): Fixed the HFP printing issue in the CI test 2026-03-30 11:44:18 +08:00
yangfeng 728f29289d feat(bt): Add APIs to control transmit power level
- API to read ACL real RSSI
- APIs to read/write tx power of inq/iscan/page/pscan/ACL
2026-03-20 14:26:10 +08:00
yangfeng b3364edfe1 fix: Fix the relative path of esp_bredr_cfg.h 2026-03-17 10:34:18 +08:00
yangfeng f9faf372d4 fix(hid): Fixed HID repeatedly reporting the close event 2026-03-13 16:26:13 +08:00
yangfeng c5094b78ef change(bt/examples): Add the use of internal codec APIs in the hfp_hf example
- Closes https://github.com/espressif/esp-idf/issues/18261
2026-03-11 17:02:09 +08:00
yangfeng e83cf43b6a feat(bt/bluedroid): Add API to set encoder parameters for A2DP source
- Add API to set encoder parameters for A2DP source
- Add the use of the API for setting encoding parameters in the a2dp_source example
2026-01-28 11:39:29 +08:00
yangfeng bc753bb88b fix(bt/bluedroid): Handle stream reconfiguration via stream close and re-open for A2DP ACP 2026-01-28 11:39:29 +08:00
yangfeng 6ee623c1e6 feat(bt/bluedroid): Report A2DP sink codec capabilities for A2DP source 2026-01-28 11:39:29 +08:00
yangfeng 5cc9bb4712 feat(bt): set BR/EDR max sync conn eff for Bluedroid HFP on ESP32
Closes https://github.com/espressif/esp-idf/issues/18060
2026-01-19 15:29:13 +08:00
yangfeng 74fa9f7945 docs(bt): update Classic Bluetooth api reference of SDP 2026-01-12 09:58:52 +08:00
yangfeng b32f703d87 docs(bt): update Classic Bluetooth api reference of L2CAP 2026-01-12 09:58:52 +08:00
yangfeng 5dc65bbb12 docs(bt): update Classic Bluetooth api reference of HID Host 2026-01-12 09:58:52 +08:00
yangfeng 00caf6b1e9 docs(bt): update Classic Bluetooth api reference of HID Device 2026-01-12 09:58:52 +08:00
yangfeng 554d9bf25d docs(bt): update Classic Bluetooth api reference of HFP AG 2026-01-12 09:58:52 +08:00
yangfeng 045dcf2939 docs(bt): update Classic Bluetooth api reference of HFP Client 2026-01-12 09:58:52 +08:00
yangfeng 2dba5e5af2 docs(bt): update Classic Bluetooth api reference of HFP Define 2026-01-12 09:58:52 +08:00
yangfeng 02f50ac836 docs(bt): update Classic Bluetooth api reference of SPP 2026-01-12 09:58:52 +08:00
yangfeng 98700f9af4 docs(bt): update Classic Bluetooth api reference of AVRCP 2026-01-12 09:58:52 +08:00
yangfeng 2e1a089a6a docs(bt): update Classic Bluetooth api reference of A2DP 2026-01-12 09:58:52 +08:00
yangfeng e1445c682b docs(bt): update Classic Bluetooth api reference of GAP 2026-01-12 09:58:52 +08:00
yangfeng f8214fc22d fix(bt/bluedroid): Fix index boundary check and function return in SEP registration
Closes https://github.com/espressif/esp-idf/issues/18041
2025-12-30 15:15:45 +08:00
yangfeng 5ee371f89f fix(examples/classic_bt): Add A2DP sink delay for AVRCP cover art and absolute volume examples 2025-12-29 10:19:52 +08:00
yangfeng 5b737e16ff refactor(examples/classic_bt): Add example tests for A2DP and AVRCP examples 2025-12-19 16:41:37 +08:00
yangfeng 1000086456 docs: Add explanations for the A2DP sink stream and AVRCP examples
- Modify the path of A2DP sink example
2025-12-19 16:41:37 +08:00
yangfeng 3e94884160 refactor(examples/classic_bt): Add AVRCP cover art example with LCD display 2025-12-19 16:41:37 +08:00
yangfeng 5ca0bba789 refactor(examples/classic_bt): Add common code for AVRCP cover art example 2025-12-19 16:41:37 +08:00
yangfeng 2b91afdfac refactor: Refactor the example of the coexistence of A2DP sink and GATT service 2025-12-19 16:41:37 +08:00
yangfeng 2f452c14e7 refactor(examples/classic_bt): Refactor A2DP sink and AVRCP examples
- Add avrcp_ct_metadata example
- Add avrcp_absolute_volume example
- Add the example components about common code for a2dp sink and avrcp
2025-12-19 16:41:37 +08:00
yangfeng 7de5f266de fix(bt/bluedroid): Fix the status judgment of the A2DP source registration SEP 2025-12-01 14:21:35 +08:00
yangfeng ce63e5feeb fix(bt/examples): Fixed test_bt_l2cap not finding ESP_SDP_CREATE_RECORD_COMP_EVT 2025-11-24 10:21:00 +08:00
yangfeng d9ce1e6bc9 fix(esp_coex): fix explicit null dereferenced reported by coverity 2025-10-13 19:39:51 +08:00
yangfeng 4606fa87c7 fix(example/classic_bt): Fix potential stack overflow tasks 2025-10-11 16:40:43 +08:00
yangfeng dc1c22f090 fix(example/classic_bt): Fix the stack overflow of the SPPAppT and mouse_move_task tasks 2025-10-10 14:42:01 +08:00
yangfeng 743036ad77 fix(bt/bluedroid): Fix the boundary conditions when checking EIR data 2025-09-28 17:50:48 +08:00
yangfeng 4e39ac7d49 fix(bt/btc): Fix array compared against 0 in btc_manage.c 2025-09-16 17:10:36 +08:00
yangfeng d5758cd823 fix(esp_coex): Fix the issue of uninitialized pointer reading in coexist_printf 2025-09-16 17:10:36 +08:00
yangfeng a0fe68ce45 fix(bt/bluedroid): Prevent out-of-bounds access and add type check when resolving EIR data 2025-08-18 09:20:05 +08:00