Commit Graph
5886 Commits
Author SHA1 Message Date
ShenWeilong 297ee2cc5b feat(ble): Updated libble to 6bbfb64 on ESP32-S31 and ESP32-H4 2026-07-01 20:38:09 +08:00
Island 3011b74b5f Merge branch 'idf/ble_iso_sec_fixes' into 'master'
Idf/ble iso sec fixes

Closes SEC-1067 and SEC-1184

See merge request espressif/esp-idf!50175
2026-07-01 14:08:35 +08:00
Island b295d1f227 Merge branch 'fix/fix_ble_rtc_register_issue_after_reset' into 'master'
fix(ble): fix ble rtc reset issues on esp32-h4 and esp32-s31

Closes BLERP-2934, BLERP-2935, and BLERP-2937

See merge request espressif/esp-idf!50057
2026-07-01 14:04:41 +08:00
cjin 1c17dee316 fix(ble): fix ble timer reset issues on ESP32-H4 2026-06-30 16:30:14 +08:00
cjin 96cecd67e1 fix(ble): fix ble timer reset issues on ESP32-S31 2026-06-30 16:30:11 +08:00
Linyan Liu c7b53c9a97 fix(ble_iso): Fix null dereference may happened during BIG/CIG creation 2026-06-30 14:38:09 +08:00
Linyan Liu caf9a41581 fix(ble_iso): Fix ISO SDU header pulled without minimum length check 2026-06-30 12:13:32 +08:00
Island 6aa3757930 Merge branch 'idf/ble_audio_4.4.1' into 'master'
feat(ble_audio): Support Zephyr LE Audio v4.4.1

See merge request espressif/esp-idf!49780
2026-06-30 11:49:45 +08:00
zhaoweiliang e92c6f7c4c fix(ble): fixed reconfig uart pin build error on ESP32-S31 2026-06-30 09:17:06 +08:00
Wang Meng Yang 3f98aa9ff9 Merge branch 'feat/add_sam' into 'master'
feat(bt): Added support for slot availablity mask functionality

See merge request espressif/esp-idf!49995
2026-06-30 08:48:07 +08:00
Liu Linyan d6f24a448a feat(ble_audio): Support Zephyr LE Audio v4.4.1 2026-06-29 17:43:53 +08:00
Rahul Tank de70cf7e6b Merge branch 'bugfix/fix_gatt_crash' into 'master'
fix(nimble): serialize NPL eventq ops to fix callout_reset race

Closes BLERP-2939

See merge request espressif/esp-idf!49967
2026-06-29 10:21:02 +05:30
Jiang Jiang Jian ae860abd4c Merge branch 'bugfix/ai_review_btu_common' into 'master'
fix: Fix the critical issues of btu and bt_common from AI review report

See merge request espressif/esp-idf!49574
2026-06-29 12:00:22 +08:00
Jiang Jiang Jian af7e18f9d0 Merge branch 'bugfix/ai_review_a2dp' into 'master'
fix(bt): Fix the critical issues related to A2DP from AI review report

See merge request espressif/esp-idf!49355
2026-06-29 11:58:39 +08:00
Michael (XIAO Xufeng) c1b218b640 Merge branch 'fix/mmap_cache_flash_wr' into 'master'
fix(mmap): fixed mmap read data wrong when flash being erased/written and cache not disabled

Closes IDFGH-14084

See merge request espressif/esp-idf!29804
2026-06-29 11:44:10 +08:00
liqigan 5b25128be8 feat(bt): Added support for slot availablity mask functionality 2026-06-29 10:57:53 +08:00
Island 3a34711eac Merge branch 'bugfix/fix_bluedroid_rpa_whitelist_conn' into 'master'
Fix connection failure when using RPA with whitelist filtering(ESP32)

Closes ESPCS-1057

See merge request espressif/esp-idf!50042
2026-06-26 20:09:03 +08:00
Island 83c7c6ed82 Merge branch 'bugfix/fix_ble_write_fail' into 'master'
fix(ble/bluedroid): Fixed potential double Execute Write Response

Closes BLERP-2292

See merge request espressif/esp-idf!49413
2026-06-26 20:08:29 +08:00
Island 3fe6482c51 Merge branch 'bugfix/fix_ble_sync_cmd_command_status_err' into 'master'
fix(ble/bluedroid): unblock sync HCI cmd on Command Status error

Closes BLERP-2926

See merge request espressif/esp-idf!49965
2026-06-26 16:52:18 +08:00
Island a9921f900c Merge branch 'bugfix/fix_gattc_disc_cmpl_stranded_read' into 'master'
fix(ble/bluedroid): set REQ_WAITING before GATTC service-change rediscovery

Closes BLERP-2925

See merge request espressif/esp-idf!49940
2026-06-26 16:52:06 +08:00
Island b45f379fd1 Merge branch 'bugfix/fix_bluedroid_read_by_type_fail' into 'master'
fix(ble/bluedroid): cap Read By Type response length at ATT maximum

Closes BLERP-2895, BLERP-2896, and BLERP-2897

See merge request espressif/esp-idf!49656
2026-06-26 16:51:19 +08:00
Island ba17bb5c6f Merge branch 'opt/opt_bluedroid_memory' into 'master'
feat(ble/bluedroid): Optimize Bluedroid memory usage

Closes BLERP-2307

See merge request espressif/esp-idf!49666
2026-06-26 16:51:12 +08:00
Island 96234ffa93 Merge branch 'bugfix/preserve_hci_status_on_set_scan_params' into 'master'
fix(ble/bluedroid): preserve HCI status on BLE 4.2 GAP failures

Closes BLERP-2905

See merge request espressif/esp-idf!49746
2026-06-26 16:51:00 +08:00
Island 106fe3da23 Merge branch 'bugfix/fix_bluedroid_static_random_conn_rpa' into 'master'
fix(ble/bluedroid): skip identity conversion for static random direct connect

Closes BCI-620

See merge request espressif/esp-idf!49754
2026-06-26 16:50:54 +08:00
Island 296c0a28f2 Merge branch 'bugfix/fix_bluedroid_legacy_directed_adv_data_validate' into 'master'
fix(ble/bluedroid): reject non-zero adv data on legacy directed ext adv

Closes BLERP-2908

See merge request espressif/esp-idf!49758
2026-06-26 16:50:51 +08:00
Island 853f4ba18e Merge branch 'bugfix/fix_gap_update_conn_params_invalid_arg' into 'master'
fix(ble/bluedroid): return ESP_ERR_INVALID_ARG for invalid conn params

Closes BLERP-2915, BLERP-2917, and BLERP-2920

See merge request espressif/esp-idf!49854
2026-06-26 16:50:47 +08:00
zhanghaipeng 0a93ccd3b3 fix(ble/bluedroid): Fixed potential double Execute Write Response 2026-06-26 15:36:43 +08:00
Rahul Tank 33d5050aec fix(nimble): Add npl locks to avoid race condition 2026-06-25 17:31:47 +05:30
zhanghaipeng cc62c8bfb4 fix(bt): update ESP32 libbtdm_app.a to 4a0f94d5
- Fix connection failure when using RPA with whitelist filtering
- Fix disconnect with reason 0x08 during full scan
- Fix peer RPA resolution failure when advertising with a local identity address
2026-06-25 19:34:13 +08:00
zhanghaipeng 2ef10ef488 fix(ble/bluedroid): skip identity conversion for static random direct connect
Do not rewrite static or non-resolvable random peer addresses to
identity type 0x03 when CONFIG_BT_BLE_RPA_SUPPORTED is enabled.
2026-06-25 19:15:25 +08:00
Island d598b2d14d Merge branch 'feat/add_ble_core_6x_feature_for_bluedroid' into 'master'
Feat/add ble core 6x feature for bluedroid

See merge request espressif/esp-idf!49409
2026-06-25 12:01:05 +08:00
zhanghaipeng 97905afccc fix(ble/bluedroid): cap Read By Type response length at ATT maximum
Read By Type Response Length is one octet (max 255). When MTU was
large enough to return a long characteristic value in one pair, the
server wrote (UINT8)(value_len + 2) and overflowed (e.g. 513 -> 1),
so the client rejected the PDU as GATT_INVALID_PDU (0x04).

Cap server value to 253 bytes per pair, clamp the length byte, and
continue long reads via Read Blob when the capped size is returned.
2026-06-25 10:49:39 +08:00
yangfeng 16fa00e3b2 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-25 10:43:29 +08:00
Wang Meng Yang d0a96988f2 Merge branch 'bugfix/ai_review_avrcp' into 'master'
fix(bt): Fix the critical and high issues related to AVRCP from AI review report

See merge request espressif/esp-idf!49375
2026-06-24 21:25:54 +08:00
Wang Meng Yang 3be1a334c0 Merge branch 'bugfix/ai_review_hfp' into 'master'
fix(bt): Fix the critical issues related to HFP from AI review report

See merge request espressif/esp-idf!49400
2026-06-24 20:54:46 +08:00
zhiweijian 919622c01c feat(ble/bluedroid): add CS Security Requirements host support (Core 6.3) 2026-06-24 17:54:53 +08:00
zhiweijian 3844e24207 feat(ble/bluedroid): add LE UTP host support (Core 6.2) 2026-06-24 17:54:53 +08:00
zhiweijianandCursor 2a8a96d650 feat(ble/bluedroid): add Shorter Connection Intervals host support (Core 6.2)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 17:54:53 +08:00
zhiweijian d568f2f151 feat(ble/bluedroid): add LL Extended Feature Set host support (Core 6.0) 2026-06-24 16:53:37 +08:00
zhiweijianandCursor 5372ce03a3 feat(ble/bluedroid): add Frame Space Update host support (Core 6.0)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 16:52:45 +08:00
zhiweijian e20d3f0197 feat(ble/bluedroid): add DBAF host support (Core 6.0) 2026-06-24 16:00:19 +08:00
zhanghaipeng 29ae92f4ef fix(ble/bluedroid): unblock sync HCI cmd on Command Status error
Release the BLE sync semaphore and record HCI status when a
synchronous command is rejected via Command Status, since no
Command Complete event follows.
2026-06-24 15:32:50 +08:00
yangfeng 169a29defc 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-24 11:20:09 +08:00
yangfeng 3210f4eea5 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-24 11:20:09 +08:00
Island 005dd1ba8c Merge branch 'feat/spi_log_qa_frame_check' into 'master'
feat(ble_log): add FINAL_STAT session-end frame and flush hook before controller restart

See merge request espressif/esp-idf!49433
2026-06-24 10:46:43 +08:00
yangfeng 0dce2d707d 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-23 20:15:48 +08:00
zhanghaipeng 13926bb9bc fix(ble/bluedroid): set REQ_WAITING before GATTC service-change rediscovery
When service change cancels in-progress discovery, bta_gattc_disc_cmpl()
re-triggers discovery without marking auto_update as REQ_WAITING. If a
client command is queued in p_q_cmd, bta_gattc_start_discover() refuses
to restart and the command is never dispatched.
2026-06-23 20:08:14 +08:00
yangfeng 0211122300 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-23 19:36:16 +08:00
guozifan a81322a2ce feat(ble_log): Add frame check support for restart flow 2026-06-23 16:19:30 +08:00
Rahul Tank 7d33607e26 Merge branch 'feat/throughput_l2cap_coc' into 'master'
Added l2cap_coc example for throughput

Closes BLERP-2890

See merge request espressif/esp-idf!47284
2026-06-22 18:07:07 +05:30