Commit Graph

33009 Commits

Author SHA1 Message Date
morris
5736a2d132 Merge branch 'fix/32mb_120m_v5.5' into 'release/v5.5'
fix(spi_flash): 1. Fix flash 120m in qio mode failed on esp32p4 (with 32M map enabled) 2. Add C61 32M flash support (backport v5.5)

See merge request espressif/esp-idf!46044
2026-04-20 13:30:14 +08:00
Jiang Jiang Jian
5b710c3b21 Merge branch 'bugfix/wps_deauth_during_scan_v5.5' into 'release/v5.5'
fix(wifi): ignore disconnect events outside WPS handshake phase in wps (Backport v5.5)

See merge request espressif/esp-idf!46380
2026-04-20 11:07:34 +08:00
Wang Meng Yang
1c8d6c3b1f Merge branch 'bugfix/oob_read_in_continue_packet_v5.5' into 'release/v5.5'
fix(bt/bluedroid): fix ACL reassembly dropping valid continuation fragments (v5.5)

See merge request espressif/esp-idf!47379
2026-04-20 09:28:52 +08:00
Rahul Tank
04312aab2c fix(nimble): Fixes for various CVEs
*CVE-2025-62235
   *CVE-2025-53477
   *CVE-2025-53470
2026-04-17 17:03:04 +05:30
Rahul Tank
6e51126e72 Merge branch 'feat/fsu_hci_cmd_evt_v5.5' into 'release/v5.5'
feat(nimble): Add support to 6.2 BLE HCI Command Event(FSU, UTP over OTA) (v5.5)

See merge request espressif/esp-idf!47638
2026-04-17 10:49:18 +05:30
Jiang Jiang Jian
021eef1324 Merge branch 'bugfix/esp_task_wdt_v5.5' into 'release/v5.5'
fix(esp_system): Handle failures correctly in esp_task_wdt_reconfigure() (backport v5.5)

See merge request espressif/esp-idf!45898
2026-04-17 12:38:41 +08:00
Jiang Jiang Jian
93f824b256 Merge branch 'feat/add_retention_test_back_v5.5' into 'release/v5.5'
feat: add sleep retention UT test back (v5.5)

See merge request espressif/esp-idf!47304
2026-04-17 11:30:26 +08:00
Jiang Jiang Jian
712886d8c1 Merge branch 'bugfix/flash_user_command_with_pms_v5.5' into 'release/v5.5'
fix(flash): flash erase operation may fail to raise PMS exception (v5.5)

See merge request espressif/esp-idf!47455
2026-04-17 11:24:31 +08:00
Jiang Jiang Jian
006c53e836 Merge branch 'fix/i2c_fsm_reset_sequence_v5.5' into 'release/v5.5'
fix(i2c): reset master before bus clear on chips without HW FSM reset (v5.5)

See merge request espressif/esp-idf!47508
2026-04-17 11:23:59 +08:00
Jiang Jiang Jian
2248c3c82e Merge branch 'fix/lwip_port_consistent_alloc_v5.5' into 'release/v5.5'
[lwip]: Make lwip alloc/free consistend in port layer (v5.5)

See merge request espressif/esp-idf!47635
2026-04-17 11:22:13 +08:00
Jiang Jiang Jian
0566b0b01c Merge branch 'fix/uhci_test_3_v5.5' into 'release/v5.5'
test(uhci): fix false-pass bug in UHCI receive test (v5.5)

See merge request espressif/esp-idf!47663
2026-04-17 11:21:24 +08:00
Jiang Jiang Jian
1b6686550c Merge branch 'bugfix/ai_review_avrcp_v5.5' into 'release/v5.5'
fix(bt): fix AVRCP component issues reported by AI review (v5.5)

See merge request espressif/esp-idf!47677
2026-04-17 11:20:39 +08:00
Jiang Jiang Jian
1e1e95c8df Merge branch 'fix/psram_core_clk_enable_v5.5' into 'release/v5.5'
fix(mspi): enable PSRAM core clock in module clock init (v5.5)

See merge request espressif/esp-idf!46849
2026-04-17 11:13:05 +08:00
Jiang Jiang Jian
4d52c98f54 Merge branch 'bugfix/fix_hplpgap_assert_in_pvt_func_v5.5' into 'release/v5.5'
feat(pvt): fix hplpgap assert error in pvt func on release v5.5

See merge request espressif/esp-idf!46799
2026-04-17 11:06:54 +08:00
Jiang Jiang Jian
587efe333e Merge branch 'feat/support_bleqabr25_1521_v5.5' into 'release/v5.5'
feat(ble/bluedroid): Add an API to resolve RPA (v5.5)

See merge request espressif/esp-idf!46501
2026-04-17 11:02:59 +08:00
Rahul Tank
739333b528 Merge branch 'bugfix/ai_fixes_common_components_v5.5' into 'release/v5.5'
Bugfix/ai fixes common components (v5.5)

See merge request espressif/esp-idf!47567
2026-04-16 17:04:30 +05:30
Zhang Wen Xu
80d5b33b50 Merge branch 'fix/fix_ot_cli_loop_v5.5' into 'release/v5.5'
fix(openthread): avoid ot_cli_loop busy loop by using select-based linenoise read (v5.5)

See merge request espressif/esp-idf!47314
2026-04-16 09:33:24 +00:00
yangfeng
db64849624 fix(bt): fix AVRCP component issues reported by AI review 2026-04-16 17:12:38 +08:00
Hu Rui
01904c19d0 test(uhci): fix false-pass bug in UHCI receive test
reset RX buffer state between UHCI test transactions
2026-04-16 15:36:11 +08:00
yanzihan@espressif.com
dd2b260449 feat(pvt): fix hplpgap assert error in pvt func on release v5.5 2026-04-16 14:53:10 +08:00
Jin Cheng
bd5ed9375a fix(bt/bluedroid): moved L2CAP length check into start packets only 2026-04-15 19:50:48 +08:00
Jon Gilmore
96f092b66a fix(bt/bluedroid): fix ACL reassembly dropping valid continuation fragments
The minimum length check in `reassemble_and_dispatch()` applied the START packet minimum (`HCI_ACL_PREAMBLE_SIZE + L2CAP_LENGTH_SIZE` = 8 bytes) to **all** ACL packets, including continuation fragments. Continuation fragments only carry the 4-byte ACL preamble (handle + length) with no L2CAP header, so small but valid continuations (5-7 bytes) were incorrectly rejected as "too short."

This caused the first L2CAP PDU in a rapid burst of BLE GATT indications to be silently dropped. The partial reassembly was orphaned, then discarded when the next indication's START fragment arrived, producing:

```
E BT_HCI: ACL packet too short (len=5)
W BT_HCI: reassemble_and_dispatch found unfinished packet for handle with start packet. Dropping old.
```

Parse the ACL preamble first (requires only 4 bytes) to determine the boundary flag, then apply the L2CAP length check only to START packets. Continuation packets are now accepted with the correct minimum of `HCI_ACL_PREAMBLE_SIZE` (4 bytes).

- ESP32-S3 connected to a BLE peripheral that fragments indications at 40 bytes per L2CAP PDU
- Peripheral sends 8+ indications within ~200ms (burst of state changes)
- The final continuation fragment of the first indication is small (5-6 bytes after type stripping)
- 100% reproducible on every burst; confirmed on ESP-IDF 5.5.3, 5.5.4, and 6.0.0

Verified on ESP32-S3 with a Sub-Zero wall oven (SO3050PESP, firmware 8.5):
- **Before fix:** First indication in every burst lost (ACL reassembly failure)
- **After fix:** All indications in burst delivered correctly, including when the final continuation fragment is 5-6 bytes

Closes https://github.com/espressif/esp-idf/issues/18414
2026-04-15 19:50:48 +08:00
Sahil Yadav
7618624086 feat(nimble): Add support to 6.2 BLE HCI Command Event (FSU, UTP over OTA) 2026-04-15 15:13:12 +05:30
David Cermak
73d2569909 fix(lwip): Make lwip alloc/free consistend in port layer
Merges https://github.com/espressif/esp-idf/pull/11534
2026-04-15 11:36:11 +02:00
Zhang Wen Xu
92dacbe097 Merge branch 'feat/radio_spinel_driver_interface_optimization_v5.5' into 'release/v5.5'
feat(openthread): optimize radio spinel uart interface (v5.5)

See merge request espressif/esp-idf!47411
2026-04-15 06:14:39 +00:00
Rahul Tank
85bee88b27 fix(nimble): Address review comments for hidd / hidh code 2026-04-15 10:39:49 +05:30
Rahul Tank
176963d583 fix(nimble): Address review fixes for tinycrypt / and blufi code 2026-04-15 10:39:07 +05:30
morris
98f1b029c6 Merge branch 'fix/usj_fifo_bug_v5.5' into 'release/v5.5'
fix(usj):Fix usj fifo write/read on p4 (backport v5.5 )

See merge request espressif/esp-idf!46637
2026-04-15 12:03:52 +08:00
Rahul Tank
2b4d2da3b1 Merge branch 'bugfix/proximity_example_issue_v5.5' into 'release/v5.5'
fix(nimble): Fix prox service to handle negative values (v5.5)

See merge request espressif/esp-idf!47537
2026-04-15 09:24:13 +05:30
morris
7dcdfaada0 Merge branch 'fix/p4_120_suspened_v5.5' into 'release/v5.5'
fix(spi_flash): Fix esp32p4 120m flash suspend failed (backport v5.5)

See merge request espressif/esp-idf!46046
2026-04-15 11:18:08 +08:00
morris
03436edd07 Merge branch 'feature/dma2d_with_flash_encryption_v5.5' into 'release/v5.5'
feat(dma2d, ppa): Support flash encryption for DMA2D and PPA (v5.5)

See merge request espressif/esp-idf!46814
2026-04-15 11:13:29 +08:00
morris
e927eaeab8 Merge branch 'doc/i2c_master_probe_comment_update_v5.5' into 'release/v5.5'
docs(i2c): update i2c_master_probe parameter comment (v5.5)

See merge request espressif/esp-idf!47512
2026-04-15 11:06:42 +08:00
Island
89ca3b8117 Merge branch 'fix/add-scheduler-suspended-check-in-ble-log_v5.5' into 'release/v5.5'
fix: BLE Log Module Issues 20260407 (5.5)

See merge request espressif/esp-idf!47559
2026-04-15 10:45:19 +08:00
Martin Vychodil
a8290be98f Merge branch 'contrib/github_pr_17642_v5.5' into 'release/v5.5'
feat(sdmmc): support multi-block read/writes (GitHub PR) (v5.5)

See merge request espressif/esp-idf!46777
2026-04-14 20:39:49 +08:00
Rahul Tank
ea2b90f74e fix(nimble): Fix prox service to handle negative values 2026-04-14 16:14:14 +05:30
Rahul Tank
9051cb7185 Merge branch 'bugfix/fix_debug_assert_lock_v5.5' into 'release/v5.5'
fix(nimble): Resolve host lock assert in DEBUG mode (v5.5)

See merge request espressif/esp-idf!47470
2026-04-14 16:09:12 +05:30
Mahavir Jain
4f00125a93 Merge branch 'feat/check_crlf_http_server_response_headers_v5.5' into 'release/v5.5'
feat(esp_http_server): adds check for crlf in response creation (v5.5)

See merge request espressif/esp-idf!47500
2026-04-14 15:01:39 +05:30
Zhou Xiao
31e0ef14a8 fix(ble_log): ensure BLE Log IRAM functions are placed in IRAM on ESP32C2
On ESP32C2 with BT_CTRL_RUN_IN_FLASH_ONLY, the bt_default linker scheme
routes .iram1 sections to flash_text, causing BLE_LOG_IRAM_ATTR functions
to end up in flash instead of IRAM. Define a dedicated .ble_log_iram1
section for ESP32C2 and route it to iram0_bt_text unconditionally.


(cherry picked from commit a9b93ca0e5)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2026-04-14 13:14:15 +08:00
Zhou Xiao
eef3374d46 fix(ble_log): improve robustness with atomics, macro hygiene, and IRAM
- Use __atomic_fetch_add for stat_mgr counters to prevent lost updates
  under concurrent ISR/task access (H1)
- Use __atomic_load_n with ACQUIRE ordering for ref_count spin-loops (L1)
- Remove unnecessary BLE_LOG_IRAM_ATTR from ble_log_rt_task since it
  calls flash-resident functions and cannot run during flash ops (L3)
- Add parentheses to BLE_LOG_TRANS_FREE_SPACE and BLE_LOG_MAKE_FRAME_META
  macro parameters to prevent operator precedence bugs (M6)


(cherry picked from commit 59536316c9)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2026-04-14 13:14:14 +08:00
Zhou Xiao
79e119b6b4 fix(ble_log): fix deinit race and concurrent flush deadlock
- Reorder deinit: stop RT task before destroying peripheral driver to
  prevent sending transports to a NULL dev_handle on dual-core (H2)
- Drain remaining queue items in rt_deinit to clean up transport state
- Add atomic flush_in_progress guard to prevent two concurrent
  ble_log_flush() callers from deadlocking on ref_count spin-wait (H5)


(cherry picked from commit 1275b78ad6)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2026-04-14 13:14:14 +08:00
Zhou Xiao
dbc2bb134d fix(ble_log): fix crash and resource issues in peripheral drivers
- Handle scheduler-suspended and ISR context in UART redirect path
  to prevent xSemaphoreTake crash during light sleep (C1)
- Check uart_driver_install return value before setting inited flag (M1)
- Always clean up SPI device handle in deinit even if acquire_bus fails (M4)


(cherry picked from commit 3f8cfc5b1d)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2026-04-14 13:14:13 +08:00
Zhou Xiao
17b9df24c0 fix(ble_log): handle scheduler-suspended state in ble_log_rt_queue_trans
During light sleep transitions, the FreeRTOS scheduler is suspended but
xPortInIsrContext() returns false, causing xQueueSend with portMAX_DELAY
to hit a configASSERT. Add a check for taskSCHEDULER_SUSPENDED and use
a non-blocking send with rollback on queue-full to avoid resource leaks.


(cherry picked from commit 92979706d7)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2026-04-14 13:14:13 +08:00
Laukik Hase
afd14ab113 change(esp_tee): Move the internal memory secure service call table to IRAM
- Using PMA, the TEE IRAM is marked as R/X while TEE DRAM is marked as R/W.
  Moving the internal memory secure service call table from DRAM to IRAM
  makes it immutable.
2026-04-14 10:12:26 +05:30
Xu Si Yu
14bb64dc7d feat(openthread): optimize radio spinel uart interface 2026-04-14 12:15:38 +08:00
Marius Vikhammer
6aa351c52d Merge branch 'docs/refresh-broken-links_v5.5' into 'release/v5.5'
docs: refresh broken documentation links (v5.5)

See merge request espressif/esp-idf!47494
2026-04-14 09:11:32 +08:00
Marius Vikhammer
e510f203a8 Merge branch 'feature/wdt_rom_patch_slim_v5.5' into 'release/v5.5'
fix(esp_hal_wdt): reduce IRAM usage of WDT init ROM patch (v5.5)

See merge request espressif/esp-idf!47360
2026-04-14 08:44:56 +08:00
Adam Múdry
35cb97cf49 feat(sdmmc): Try to reallocate smaller DMA buffer if larger one failed 2026-04-13 16:17:39 +02:00
Adam Múdry
b70607c08b fix(sdmmc): Multi-block read/writes support refactor + tests and documentation added 2026-04-13 16:17:39 +02:00
jofrev
df5c1ed807 feat(sdmmc): Add support for multi-block read/writes
This has the potential of speeding up SD card access significantly.

Reusing the DMA aligned buffer gives the additional option of having to
allocate the transaction buffer only once instead of for every
transaction, while still keeping the improved transaction time.

To give users the maximum amount of control, the Kconfig option for the
transaction buffer size applies only to the temporary buffer, which is
only allocated if the DMA aligned buffer has not been pre-allocated.

Closes https://github.com/espressif/esp-idf/pull/17642

Co-authored-by: Adam Múdry <adam.mudry@espressif.com>
2026-04-13 16:17:39 +02:00
Rahul Tank
394a8b9b1d fix(nimble): Resolve host lock assert in DEBUG mode 2026-04-13 16:16:58 +05:30