Commit Graph

5880 Commits

Author SHA1 Message Date
Jin Cheng
b40d860987 fix(bt/bluedroid): fixed OOB read dring mSBC sync word check 2026-09-15 09:34:13 +08:00
Wang Meng Yang
50b9a4b19e Merge branch 'fix/bt_hfp_v6.0' into 'release/v6.0'
fix(bt_hfp): Fix some bugs in hfp (v6.0)

See merge request espressif/esp-idf!52750
2026-09-15 09:30:43 +08:00
Wang Meng Yang
bde2b24561 Merge branch 'bugfix/fix_pbac_pm_config_v6.0' into 'release/v6.0'
fix(bt/bluedroid): enable sniff power management for PBAP client (v6.0)

See merge request espressif/esp-idf!52762
2026-09-14 17:23:33 +08:00
Island
4891edcd73 Merge branch 'change/ble_update_lib_20260904_v6.0' into 'release/v6.0'
change(ble): [AUTO_MR] 20260904 - Update ESP BLE Controller Lib (6.0)

See merge request espressif/esp-idf!52439
2026-09-14 10:36:09 +08:00
linruihao
a3fa33aad3 fix(bt/bluedroid): enable sniff power management for PBAP client 2026-09-14 10:19:17 +08:00
Shreeyash Bhakare
ec250befd6 fix(nimble): Send Prepare Write Request before Execute Write in write long with zero-length data 2026-09-11 14:57:16 +05:30
hejiaxin
f43561e692 fix(bt_hfp): Fix some bugs in hfp
- Fix hfp callback data length
- Fix the solution of unknown AT command
2026-09-11 17:25:51 +08:00
Rahul Tank
8da0b7af1f Merge branch 'bugfix/nimble_issues_08092026_v6.0' into 'release/v6.0'
fix few nimble issues 08092026 (v6.0)

See merge request espressif/esp-idf!52601
2026-09-11 14:20:57 +05:30
zhaoweiliang
b6520d92d5 change(ble): [AUTO_MR] Update lib_esp32c5 to acd9a26e 2026-09-11 16:18:06 +08:00
zhaoweiliang
4f4ee5eded change(ble): [AUTO_MR] Update lib_esp32h2 to acd9a26e 2026-09-11 16:17:08 +08:00
zhaoweiliang
13ba93d55c change(ble): [AUTO_MR] Update lib_esp32c6 to acd9a26e 2026-09-11 16:15:38 +08:00
Island
e088053614 Merge branch 'fix/ble_log_compression_issue_on_windows_v6.0' into 'release/v6.0'
fix(bt): fix BLE log compression build on Windows (6.0)

See merge request espressif/esp-idf!51246
2026-09-11 14:53:34 +08:00
Island
bb3321fedd Merge branch 'feat/bt_osal_build_configurable_v6.0' into 'release/v6.0'
feat(bt): Add Kconfig option to build the BT OSAL conditionally (6.0)

See merge request espressif/esp-idf!52516
2026-09-11 14:35:24 +08:00
Island
959545a41b Merge branch 'fix/ble_mesh_added_gatt_err_rsp_v6.0' into 'release/v6.0'
fix(ble_mesh): align GATTS read/write response handling with ATT (6.0)

See merge request espressif/esp-idf!51463
2026-09-11 14:33:57 +08:00
Island
0c269a2f66 Merge branch 'fix/esp32-ble-dtm-txbuf-leak_v6.0' into 'release/v6.0'
Fix DTM TX buffer leak in the BLE controller that could cause memory exhaustion and Interrupt WDT timeout during or after DTM TX tests. (6.0)

See merge request espressif/esp-idf!52615
2026-09-10 20:50:53 +08:00
Island
0d25ea96d7 Merge branch 'feat/opt_prefer_bond_device_when_evicting_overflow_bonds_v6.0' into 'release/v6.0'
fix(bt/bluedroid): prefer disconnected peers when evicting overflow bonds (6.0)

See merge request espressif/esp-idf!52610
2026-09-10 20:50:40 +08:00
Island
ba6bbdeb41 Merge branch 'bugfix/fix_bluedroid_find_info_format_mismatch_v6.0' into 'release/v6.0'
fix(ble/bluedroid): restore find info PDU stop on UUID format mismatch (6.0)

See merge request espressif/esp-idf!52080
2026-09-10 20:50:30 +08:00
Rahul Tank
768198540a Merge branch 'bugfix/hardware_error_assert_v6.0' into 'release/v6.0'
fix(nimble): Add hardware error event handling as normal event (v6.0)

See merge request espressif/esp-idf!52553
2026-09-10 17:33:50 +05:30
Luo Xu
59a30e9ba2 fix(bt): fix BLE log compression build on Windows
The BLE log compression feature (CONFIG_BT_LOG_CRITICAL_ONLY ->
BLE_COMPRESSED_LOG_ENABLE) failed to build on Windows while working
correctly on Linux, due to two shell/platform-specific issues in the
compression script.

1. Module/source argument quoting. CMakeLists.txt passes the
   semicolon-separated module and source lists wrapped in single quotes
   ("'${MODULES}'") to protect ';' from POSIX shells, which strip them.
   cmd.exe does not treat single quotes as quoting characters, so on
   Windows the quotes reached the script literally and
   args.module.split(';') produced "'BLE_MESH" / "BLE_HOST'" instead of
   the clean names. These never matched the YAML module keys, every
   module was skipped ("Skipping module ... - config not found"), the
   compressed sources were never generated, and the build failed. Strip
   surrounding quote characters before splitting; this is a no-op on
   Linux/macOS where the shell already removed them.

2. CRLF line endings. With core.autocrlf=true the IDF sources are
   checked out as CRLF on Windows. The generated *_log_index.h macros
   use backslash-newline line-continuation; a backslash followed by
   '\r\n' is not a valid continuation in C, producing floods of syntax
   errors when the header is compiled. Write generated headers with
   newline='' to force LF, and normalize source content to LF right
   after reading so '\r' embedded inside multi-line argument expressions
   is also handled. Byte offsets stay consistent because both tree-sitter
   parsing and tag replacement operate on the normalized content.

Verified by full clean builds of examples/bluetooth/esp_ble_mesh/
vendor_models/vendor_client (esp32c6, bluedroid + mesh) from both
cmd.exe and PowerShell; both produce an identical vendor_client.bin.


(cherry picked from commit aa9b565a6d)

Co-authored-by: luoxu <luoxu@espressif.com>
2026-09-10 10:29:15 +08:00
Luo Xu
12aa692dcc fix(ble_mesh): align GATTS read/write response handling with ATT
bt_mesh_bta_gatts_cb did not always answer ATT Read/Write Requests:
- READ: on a callback error it only logged a warning and sent nothing; a
  0-byte read (Read Blob at an offset equal to the value length) also sent
  nothing, although it is a successful empty read.
- WRITE: on a callback error it sent nothing, and a partial/zero write was
  treated as success.
- Both: when the handle was not found or the attribute had no read/write
  callback, the request was silently dropped.

An ATT Request must always be answered:

- READ: len >= 0 is success -> Read Response (a 0-byte read yields an empty
  value); len < 0 -> ATT Error Response carrying the callback's error code
  (-len, since BLE_MESH_GATT_ERR(x) == -x). The copy length is clamped to
  the source buffer size as a defensive bound. If the handle is unknown or
  the attribute has no read callback, respond with INVALID_HANDLE /
  READ_NOT_PERMITTED.
- WRITE: when need_rsp is set, always reply. len == write length -> Write
  Response; otherwise (negative ATT error, partial write, or 0) -> ATT
  Error Response (the negative code, or UNLIKELY for partial/0). If the
  handle is unknown or the attribute has no write callback, respond with
  INVALID_HANDLE / WRITE_NOT_PERMITTED. Write Without Response still sends
  no response.

A non-success status passed to BTA_GATTS_SendRsp is turned into an ATT
Error Response by the GATT layer (gatt_sr_process_app_rsp ->
gatt_send_error_rsp).


(cherry picked from commit ed1f4de3a3)

Co-authored-by: luoxu <luoxu@espressif.com>
2026-09-10 10:29:07 +08:00
Astha Verma
5048d40e1b fix(nimble): Fix nimble HID service discovery 2026-09-09 14:09:04 +05:30
Zhang Hai Peng
77570dfbde fix(bt): remove noisy OSI event handler enter/exit debug logs
These per-event traces fire on every async dispatch and flood BT logs
without aiding diagnosis; higher-layer traces remain for debugging.


(cherry picked from commit b9b9b8633f)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-09-09 14:26:49 +08:00
Zhang Hai Peng
b011c3fc72 fix(bt): update ESP32 libbtdm_app.a to 919c7f4b
- fixed dtm tx buffer leak issue


(cherry picked from commit ab7bb35192)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-09-09 14:26:49 +08:00
Zhang Hai Peng
a7e56b0fac fix(bt/bluedroid): prefer disconnected peers when evicting overflow bonds
When the bond list is full, drop the oldest disconnected device instead
of the oldest NVS entry, and allow a per-bond except flag so selected
devices are never auto-removed.


(cherry picked from commit bf86892eef)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-09-09 14:25:55 +08:00
Rahul Tank
16cd970a43 Merge branch 'bugfix/fix_coex_crash_v6.0' into 'release/v6.0'
fix(nimble): Prevent crash in deinit when host init was not completed (v6.0)

See merge request espressif/esp-idf!52565
2026-09-09 11:15:32 +05:30
Wang Meng Yang
2441aff81d Merge branch 'bugfix/bta_disable_not_run_v6.0' into 'release/v6.0'
fix(bt/bluedroid): fixed BTA event dispatch race during module disable (v6.0)

See merge request espressif/esp-idf!51975
2026-09-09 11:39:09 +08:00
Rahul Tank
4cb6a3f218 fix(nimble): Prevent crash in deinit when host init was not completed 2026-09-08 15:35:29 +05:30
Rahul Tank
1e8fd755ad fix(nimble): Add hardware error event handling as normal event 2026-09-08 12:10:53 +05:30
Jiang Jiang Jian
3702e3446d Merge branch 'bugfix/qos_not_reported_v6.0' into 'release/v6.0'
fix(bt/controller): update ESP32 libbtdm_app.a to fix missing QoS_Setup_Cmpl event (v6.0)

See merge request espressif/esp-idf!52491
2026-09-08 10:36:17 +08:00
Island
4dd996365c Merge branch 'fix/fix_ble_retention_dependency_order_v6.0' into 'release/v6.0'
fix(ble): fix ble retention dependency order (6.0)

See merge request espressif/esp-idf!52465
2026-09-08 10:25:13 +08:00
cjin
bed7b04631 fix(ble): fix ble retention dependency order 2026-09-07 20:20:03 +08:00
chenjianhua
8e76bd045c feat(bt): Add Kconfig option to build the BT OSAL conditionally 2026-09-07 19:45:28 +08:00
Rahul Tank
454b29f257 fix(nimble): Fix for BLERP attack 2026-09-07 12:29:32 +05:30
Jin Cheng
d05b70bde0 fix(bt/controller): update ESP32 libbtdm_app.a to fix missing QoS_Setup_Cmpl event 2026-09-07 12:21:57 +08:00
Rahul Tank
abd362c657 fix(nimble): Avoid NULL proc dereference in GATT client procedures 2026-09-06 09:44:45 +05:30
Wang Meng Yang
8d9613b259 Merge branch 'bugfix/delete_unused_avrcp_rcb_v6.0' into 'release/v6.0'
fix(bt/bluedroid): delete the unused AVRCP acceptor RCB when A2DP open fails (v6.0)

See merge request espressif/esp-idf!52413
2026-09-06 12:08:39 +08:00
Wang Meng Yang
b1f6f992d2 Merge branch 'bugfix/qos_div_zero_v6.0' into 'release/v6.0'
fix(bt): update ESP32 libbtdm_app.a to fix several issues (v6.0)

See merge request espressif/esp-idf!52053
2026-09-06 11:32:52 +08:00
Wang Meng Yang
70d938445d Merge branch 'fix/aireview_pbap_v6.0' into 'release/v6.0'
fix(bt_pbap): Fix some bugs in bluedroid PBAP (v6.0)

See merge request espressif/esp-idf!51728
2026-09-06 11:26:03 +08:00
Wang Meng Yang
d5f9b93781 Merge branch 'change/refactor_hidh_datapath_v6.0' into 'release/v6.0'
Change/refactor hidh datapath[backport v6.0]

See merge request espressif/esp-idf!51279
2026-09-06 11:24:27 +08:00
Wang Meng Yang
a9ad41e428 Merge branch 'bugfix/a2dp_api_init_check_v6.0' into 'release/v6.0'
fix(bt): Fix compatibility with A2DP API legacy usage methods (v6.0)

See merge request espressif/esp-idf!51328
2026-09-06 11:20:08 +08:00
Wang Meng Yang
06a411f81a Merge branch 'fix/aireview_obex_v6.0' into 'release/v6.0'
fix(bt_obex): fix some bugs in bluedroid obex (v6.0)

See merge request espressif/esp-idf!52005
2026-09-06 11:18:52 +08:00
Wang Meng Yang
2cf3ad6d31 Merge branch 'fix/bt_memory_v6.0' into 'release/v6.0'
fix(bt_memory): Reduce memory usage in transfer (v6.0)

See merge request espressif/esp-idf!52276
2026-09-06 11:16:58 +08:00
Island
6eb40db09d Merge branch 'feat/adapt_uhci_code_260824_v6.0' into 'release/v6.0'
refactor(hci): switch HCI UART DMA transport to UHCI driver APIs (6.0)

See merge request espressif/esp-idf!52160
2026-09-04 17:58:17 +08:00
Rahul Tank
c0b30a11db Merge branch 'bugfix/fix_stale_conn_cccd_v6.0' into 'release/v6.0'
fix(nimble): fix crash on disconnect due to stale per-connection CCCD pool (v6.0)

See merge request espressif/esp-idf!51951
2026-09-04 14:42:22 +05:30
Fu Hanxi
14297ada26 Merge branch 'ci/apply-common-scripts-v6.0' into 'release/v6.0'
ci: apply common-scripts refactor (v6.0)

See merge request espressif/esp-idf!50991
2026-09-04 09:33:06 +02:00
Rahul Tank
a64ac3a8f6 fix(nimble): fix crash on disconnect due to stale per-connection CCCD pool 2026-09-04 12:17:48 +05:30
hejiaxin
340ce2b338 fix(bt_pbap): Fix some bugs in bluedroid PBAP
- Add sdp_seq to avoid p_ccb being free during sdp
- Changed some BTA_Pba functions to return non-void value
- Improve error catching and report
- Refactor bta_pba_client_response to avoid UAF problem
- Rearrange btc_pba_client init flag to avoid some disturbing bug
2026-09-04 11:55:05 +08:00
hejiaxin
b2c98e72cd fix(bt_avrcp): size some AVRC command buffers 2026-09-04 11:51:39 +08:00
ShenWeilong
d3b4dd9584 fix(ble): Check if there are illegal library files in controller lib path 2026-09-04 11:03:01 +08:00
ShenWeilong
3dbbafbbb3 fix(bt): fixed mempool deinit crash issue 2026-09-04 11:00:59 +08:00