Commit Graph

6061 Commits

Author SHA1 Message Date
Rahul Tank
ee4e8fd9c3 Merge branch 'bugfix/fix_add_resolve_after_connect_master' into 'master'
fix(nimble): Fix adding device to resolving list when defer connection

Closes BLERP-3007

See merge request espressif/esp-idf!51314
2026-08-14 10:39:56 +05:30
Wang Meng Yang
eb95e67ce3 Merge branch 'feature/refactor_with_broker' into 'master'
feat(bt): refactor bt sdk with broker for esp32h4 and esp32s31

Closes BTQABR2023-778, BTQABR2023-873, BTQABR2023-863, BTQABR2023-864, BLERP-3016, BLERP-3020, BLERP-3022, BLERP-3023, BLERP-3024, BLERP-3025, BLERP-3026, BLERP-3027, BLERP-3028, BLERP-3029, BLERP-3030, BLERP-3031, BLERP-3032, BLERP-3033, BLERP-3034, BT-4440, WIFI-7353, IDFGH-17891, BT-4466, and BLERP-3035

See merge request espressif/esp-idf!51381
2026-08-13 20:00:08 +08:00
Wang Meng Yang
362fa6b483 Merge branch 'bugfix/strncpy_compilation_issue' into 'master'
fix(bluedroid): Fix the compilation issue of BCM_STRNCPY_S

See merge request espressif/esp-idf!51578
2026-08-13 17:23:32 +08:00
Rahul Tank
846ab1ee50 Merge branch 'bugfix/fix_kconfig_warnings' into 'master'
fix(nimble): move BTDM defaults to esp32

See merge request espressif/esp-idf!51682
2026-08-13 14:27:15 +05:30
Island
91506ea493 Merge branch 'feat/ble-log-spi-hd-support' into 'master'
feat: Supported SPI HD for BLE Log

See merge request espressif/esp-idf!51714
2026-08-13 16:11:38 +08:00
Wang Meng Yang
462d942b51 Merge branch 'bugfix/a2dp_sink_nego_sbc' into 'master'
fix(bt): do not cap AVDTP Discover results by local SEP count

Closes IDFGH-17987

See merge request espressif/esp-idf!51241
2026-08-13 14:51:08 +08:00
Wang Meng Yang
1685118e15 Merge branch 'bugfix/qos_div_zero' into 'master'
fix(bt): update ESP32 libbtdm_app.a to fix several issues

Closes IDFGH-18110 and BTQABR2023-716

See merge request espressif/esp-idf!51701
2026-08-13 14:42:56 +08:00
Wang Meng Yang
a05486f3dc Merge branch 'fix/aireview_pbap' into 'master'
fix(bt_pbap): Fix some bugs in bluedroid PBAP

See merge request espressif/esp-idf!51331
2026-08-13 14:18:20 +08:00
Rahul Tank
a5d831d4c4 fix(nimble): Fix adding device to resolving list when defer connection 2026-08-13 10:15:25 +05:30
ShenWeilong
b9ba3ea3ad feat(bt): updated libble and libbtdm
1. Added strong function for btdm_compressed_assert.
          2. Fixed some berdr hci issues
          3. Updated ble config params structure
2026-08-13 11:07:18 +08:00
liqigan
e8d3044728 change(bt/controller): Adapt BR/EDR controller to new architecture 2026-08-13 11:07:07 +08:00
ShenWeilong
c48a8567a1 feat(bt): refactor bt sdk with broker for esp32h4 and esp32s31 2026-08-13 11:07:06 +08:00
yangfeng
0f2681a484 fix(bluedroid): Fix the compilation issue of BCM_STRNCPY_S 2026-08-13 10:04:28 +08:00
yangfeng
c4da788094 fix(bt): do not cap AVDTP Discover results by local SEP count
- Closes https://github.com/espressif/esp-idf/issues/18848
2026-08-13 09:53:07 +08:00
Jin Cheng
f9bc23d1ad fix(bt): update ESP32 libbtdm_app.a to fix several issues
- fixed IntegerDividedByZero during Qos negotiation.
  Closes https://github.com/espressif/esp-idf/issues/18951
- ignored the check for bandwidth and retransmission effort when Host
  accepts the SCO connection request.
2026-08-13 09:26:15 +08:00
Zhou Xiao
30f93c0bc5 refactor(bt/ble_log): share SPI master pin config with IOMUX fallback
Move the SPI2 bus, transfer-size and DMA-alignment constants shared by the
full-duplex DMA and half-duplex HD transports into
ble_log_prph_spi_common.h. Pin numbers stay Kconfig-driven but fall back to
the target's native SPI2 IOMUX pins when configured negative, and default to
-1 so both transports use the native pins out of the box; any GPIO number
still overrides.
2026-08-13 00:14:13 +08:00
Zhou Xiao
1831a49a26 feat(bt/ble_log): add SPI master half-duplex transport
Add BLE_LOG_PRPH_SPI_MASTER_HD, a half-duplex SPI2 transport built on the
HD DMA protocol (slave HD ver2). Reuses the SPI master pin config shared
with the full-duplex DMA transport; the HD device queue is sized 2x for
ping-pong so the next transaction is queued while the previous DMA runs.
2026-08-13 00:14:13 +08:00
Zhou Xiao
3fa1901e45 refactor(bt/ble_log): unify trans recycling and GDMA burst alignment
Extract ble_log_lbm_recycle_trans() so every transport (UART DMA, SPI DMA,
dummy) recycles owned trans through one path; the HD transport builds on it.

Also prepare buffers for GDMA weighted arbitration: align transport buffers
to the 32-byte burst size, and disable the UART data burst (UHCI enforces
burst-size alignment on uhci_transmit() once weighted arbitration is enabled,
and UART bandwidth is baud-rate limited anyway).
2026-08-13 00:14:13 +08:00
Zhou Xiao
08252a2dd5 fix(bt): initialize BLE Log in host-only mode 2026-08-12 18:50:08 +08:00
hejiaxin
abfd193662 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-08-12 16:00:11 +08:00
Rahul Tank
8c194a826c fix(nimble): move BTDM defaults to esp32
BTDM_CTRL_MODE_* exists only on classic ESP32. Shared
sdkconfig.defaults caused unknown-symbol warnings on other targets.
2026-08-12 11:43:44 +05:30
Rahul Tank
e4ad55e6b0 fix(nimble): Added change to stop adv before starting new adv 2026-08-11 15:08:27 +05:30
Rahul Tank
70f451fab7 fix(nimble): deliver PAwR peripheral connection events
Route legacy PAwR peripheral completion events through the active periodic
    sync callback and accept the controller-established link without normal
    advertising state.
2026-08-06 18:53:18 +05:30
Rahul Tank
fd7dacb9bc fix(nimble): Remove extra free to avoid double free 2026-08-06 15:16:02 +05:30
Island
2720caabb1 Merge branch 'idf/ble_audio_fixes' into 'master'
fix(ble_audio): Miscellaneous fixes for ISO & LE Audio (stage 2)

See merge request espressif/esp-idf!51158
2026-08-05 10:47:55 +08:00
Rahul Tank
b5ced8374f Merge branch 'bugfix/add_nimble_cve' into 'master'
fix(nimble): Fixes for various NimBLE CVEs

See merge request espressif/esp-idf!51159
2026-08-04 12:13:47 +05:30
Liu Linyan
af9ae1c0aa fix(ble_audio): Miscellaneous fixes for ISO & LE Audio (stage 2) 2026-08-04 14:07:10 +08:00
Rahul Tank
e64735cbf6 fix(nimble): Fixes for various NimBLE CVEs 2026-08-03 16:47:17 +05:30
luoxu
ed1f4de3a3 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).
2026-08-03 11:13:28 +08:00
Island
5371ee669b Merge branch 'feat/support_pawr_connect_evt' into 'master'
feat(ble/bluedroid): Support PAWR connection event

See merge request espressif/esp-idf!50612
2026-08-03 10:16:58 +08:00
Wang Meng Yang
c929644423 Merge branch 'bugfix/bredr_controller_issues_from_deep_review' into 'master'
fix(bt): Fixed memory-safety and DoS defects in BR/EDR controller on ESP32-S31

Closes BTQABR2023-853 and BTQABR2023-852

See merge request espressif/esp-idf!51299
2026-08-02 13:41:52 +08:00
Island
262ab40a5b Merge branch 'fix/fix_some_ble_sleep_issues' into 'master'
Fix/fix some ble sleep issues

Closes BLERP-3003

See merge request espressif/esp-idf!51304
2026-07-31 11:09:49 +08:00
zhiweijian
68dff5d798 fix(ble/bluedroid): Build LE event mask from host feature macros 2026-07-30 21:00:37 +08:00
zhiweijian
7da7fa42ac feat(ble/bluedroid): Support PAWR connection event 2026-07-30 21:00:26 +08:00
Rahul Tank
f992ff36f6 Merge branch 'bugfix/fix_pawr_conn_event' into 'master'
fix(nimble):  Deliver PAwR peripheral CONNECT via sync callback

Closes BLERP-2982

See merge request espressif/esp-idf!51042
2026-07-30 17:37:12 +05:30
cjin
0cd6259a9b fix(bt): fix deselect slow clk missing on ESP32-C5 2026-07-30 10:37:04 +08:00
cjin
287b7c72cd fix: fix on bt slow clk src unable to reset on esp32-h4 and esp32-s31 2026-07-29 15:36:03 +08:00
Wang Mengyang
4bbeb887fa fix(bt): Fixed memory-safety and DoS defects in BR/EDR controller on ESP32-S31
- remmediate deep-review memory-saftey and DoS defects
- fix duplicated report of HCI mode change event
- fix conflicts in handling sniff subrate request when ACL link enters active mode
2026-07-29 15:35:29 +08:00
Wang Meng Yang
744464271d Merge branch 'feat/bt_in_psram' into 'master'
feat(bluedroid): Add config to place btu and hci task stack in psram

Closes BT-4136

See merge request espressif/esp-idf!51002
2026-07-29 14:49:19 +08:00
Jiang Jiang Jian
139d968de0 Merge branch 'bugfix/sco_pkt_type_err' into 'master'
fix(bt/bluedroid): fixed incorrect eSCO packet type validation in secure connection mode

Closes BTQABR2023-849

See merge request espressif/esp-idf!51251
2026-07-29 14:41:23 +08:00
Rahul Tank
d485466018 fix(nimble): Deliver PAwR peripheral CONNECT via sync callback 2026-07-29 11:09:14 +05:30
Rahul Tank
a526754325 Merge branch 'feat/sbom_changes' into 'master'
fix(nimble): update sbom file with cve details

See merge request espressif/esp-idf!51152
2026-07-29 10:49:08 +05:30
Wang Meng Yang
82b28b2641 Merge branch 'fix/aireview_critical' into 'master'
fix: Fix some critical bugs in classic bt

See merge request espressif/esp-idf!50312
2026-07-29 11:41:36 +08:00
Wang Meng Yang
5dbd27f32b Merge branch 'bugfix/bredr_multiple_fix_on_esp32s31' into 'master'
fix(bt): Fixed several issues on BR/EDR controller on ESP32-S31

Closes BTQABR2023-829, BTQABR2023-836, BTQABR2023-837, BTQABR2023-840, BTQABR2023-687, and BTQABR2023-697

See merge request espressif/esp-idf!51249
2026-07-29 10:39:10 +08:00
Rahul Tank
f6fcd6470c fix(nimble): update sbom file with cve details 2026-07-28 21:25:14 +05:30
Wang Meng Yang
d348f43f56 Merge branch 'bugfix/a2dp_api_init_check' into 'master'
fix(bt): Fix compatibility with A2DP API legacy usage methods

Closes IDFGH-17892

See merge request espressif/esp-idf!50611
2026-07-28 19:35:28 +08:00
Wang Mengyang
aeab6dcfbe fix(bt): Fixed several issues on BR/EDR controller on ESP32-S31
Fixed bug when BR/EDR ACL-U dynamic Tx buffer is enabled
Fixed infinite loop during connection set-up
Optimized the scheduling of SCO/eSCO and sniff events
2026-07-28 18:04:31 +08:00
Jin Cheng
c274987a7a fix(bt/bluedroid): fixed incorrect eSCO packet type validation under secure connection mode in BlueDroid 2026-07-28 15:21:29 +08:00
Rahul Tank
e08609e451 fix(nimble): Migrate to NimBLE 1.9.0 2026-07-27 14:14:35 +05:30
Island
eaa88e26dc Merge branch 'idf/ble_audio_log_compress_misc' into 'master'
feat(ble_audio): Add specific libs for BLE Audio log compression

See merge request espressif/esp-idf!51107
2026-07-27 16:19:44 +08:00