Commit Graph
38228 Commits
Author SHA1 Message Date
Mahavir Jain ad59a903b7 Merge branch 'fix/esp32s2_aes_dma_psram_partial_block_hang' into 'master'
Avoid ESP32-S2 Crypto DMA stall on PSRAM output with partial blocks

See merge request espressif/esp-idf!51796
2026-08-19 19:29:59 +05:30
Mahavir Jain 53076b8aad Merge branch 'feat/enable_dpu_region_protection_for_esp32s31' into 'master'
feat: enable cpu region protection for esp32s31

Closes IDF-15238

See merge request espressif/esp-idf!49270
2026-08-19 19:13:11 +05:30
Island 58d66f4bc5 Merge branch 'fix/fixed_qa_test_issues_for_s31' into 'master'
fix(ble): fixed occasional sched assertion for scan scenario

Closes BLERP-3055 and BLERP-3056

See merge request espressif/esp-idf!51848
2026-08-19 20:35:13 +08:00
morris 67cfad9a11 Merge branch 'fix/multi_dev_test_decrase_timeout' into 'master'
fix(ci): reduce peripheral multi dev test timeout time

See merge request espressif/esp-idf!51834
2026-08-19 19:59:23 +08:00
Mahavir Jain 30e851857c Merge branch 'fix/mbedtls_gcm_multipart_and_ecp_pubkey' into 'master'
Fix/mbedTLS port layer security fixes (394, 1214, 1206)

Closes SEC-1214, SEC-394, and SEC-1206

See merge request espressif/esp-idf!51096
2026-08-19 16:21:43 +05:30
Rahul Tank 42e02b7d02 Merge branch 'bugfix/irk_smp_bond_issue' into 'master'
fix(nimble): Fix unpair_oldest_peer deleting wrong device

Closes BCI-603

See merge request espressif/esp-idf!46230
2026-08-19 16:17:25 +05:30
morris 09a65392d4 Merge branch 'feat/support_rgb888_to_rgb565' into 'master'
feat(rgb_lcd): support convert rgb2rgb

Closes IDF-14142

See merge request espressif/esp-idf!49359
2026-08-19 18:13:53 +08:00
Jiang Jiang Jian f1cbff98e3 Merge branch 'bugfix/dpp_stray_auth_confirm' into 'master'
fix(esp_wifi): Harden dpp Auth confirm and drop mismatched auth confirms

Closes WIFIBUG-2032 and WIFIBUG-2075

See merge request espressif/esp-idf!51554
2026-08-19 17:15:35 +08:00
Mahavir Jain 200cae8317 Merge branch 'feat/ws-control-frame-handler' into 'master'
feat(esp_http_server): separate control frame handler for WS server

Closes IDFGH-17509

See merge request espressif/esp-idf!50616
2026-08-19 14:20:16 +05:30
Mahavir Jain d1fc1ed6b9 Merge branch 'contrib/github_pr_18922' into 'master'
fix(esp_https_server): restore use_secure_element initializer in HTTPD_SSL_CONFIG_DEFAULT() (GitHub PR)

Closes IDFGH-18077

See merge request espressif/esp-idf!51540
2026-08-19 13:45:15 +05:30
Jiang Jiang Jian 8c301616f8 Merge branch 'fix/fix_esp32p4_missing_pvt_clock' into 'master'
fix(esp_hw_support): fix esp32p4 PVT clock lost

See merge request espressif/esp-idf!51756
2026-08-19 16:12:21 +08:00
wanckl 8889acc3d1 fix(ci): reduce peripheral multi dev test timeout time 2026-08-19 15:30:55 +08:00
harshal.patil 95f1582f4b test(mbedtls): add partial-block PSRAM coverage for AES and AES-GCM
Extend the CTR test data length to 6433 bytes so the trailing partial
block is exercised with external RAM buffers (which stalls the ESP32-S2
Crypto DMA on an unfixed driver), and add AES-GCM PSRAM tests verified
against internal RAM references.
2026-08-19 11:27:52 +05:30
harshal.patil 6fe4f4f174 fix(mbedtls/aes): fix ESP32-S2 Crypto DMA stall on PSRAM output with partial blocks
The ESP32-S2 Crypto DMA in-channel stalls silently when a receive
descriptor list transitions from external to internal RAM. The AES
driver hits this when a PSRAM-output operation has a trailing partial
block, as the internal stream descriptor is linked after the external
RAM data descriptors.

- esp_aes_process_dma(): process the block-aligned part and the partial
  block as two separate DMA operations, keeping each descriptor list
  uniform
- crypto_dma_ll_reset(): also reset the in-channel (per the TRM receive
  reset sequence), otherwise stale state from a preceding external-RAM
  operation corrupts the next operation's output

The GCM DMA path is unaffected; it never operates on PSRAM buffers.
2026-08-19 11:27:42 +05:30
Ashish Sharma 5bd8050985 test(esp_http_server): cover WebSocket control-frame handler 2026-08-19 12:45:08 +08:00
Ashish Sharma cfad6727fe feat(esp_http_server): add dedicated WebSocket control-frame handler
Closes https://github.com/espressif/esp-idf/issues/18448
2026-08-19 12:45:08 +08:00
Ashish Sharma 0a765b93e7 fix(mbedtls): use pointer-width types for dynamic buffer msg offsets 2026-08-19 12:25:12 +08:00
Ashish Sharma 732f7ca983 test(mbedtls): add test for unaligned multipart AES-GCM streaming 2026-08-19 12:25:12 +08:00
Ashish Sharma e6ac065424 fix(mbedtls): preserve AES-GCM stream state across multipart updates 2026-08-19 12:25:12 +08:00
Ashish Sharma 23393e49bd fix(mbedtls): bound public-key coordinate copy in esp ecp_check_pubkey 2026-08-19 12:25:12 +08:00
harshal.patil 01b86f1269 change(esp_hw_support): harden the ESP32-S31 PSRAM region permissions
Both PSRAM layouts were mapped as a single RWX window, so everything in external
RAM - the heap included - was executable.

PSRAM used as data only is now RW, and under XIP-from-PSRAM it is split per
section as ESP32-P4 does: .text RX, .rodata read-only, and the MMU-page
alignment gaps and the reclaimed heap RW, so neither is executable.

Both describe the layout that esp_psram_init() produces, and the entries are
locked, so - again as on ESP32-P4 - they are only narrowed when
CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION says that layout applies. Without
it the application owns the region and PSRAM stays RWX.

The per-section entries cost one PMP entry more than the 16 available, so the CPU
subsystem and peripheral windows are chained as TOR entries, taking one entry
instead of three.

soc.h is corrected against the S31 bus address map: the peripheral window base
was 1 MB too low, and the LP peripheral top, derived from a register base plus a
size rather than from the map, was 16 KB short. SOC_NON_CACHEABLE_OFFSET_FLASH
is added.
2026-08-19 09:39:52 +05:30
Shen Weilong 91b4fdca8f fix(ble): fixed occasional sched assertion for scan scenario 2026-08-19 12:08:02 +08:00
Rahul Tank 6311559fe6 fix(nimble): Fix unpair_oldest_peer deleting wrong device
Sort bond entries by bond_count after in-place updates to maintain correct
eviction order, and log IRK resolving-list failures instead of failing the bond.
2026-08-18 22:06:27 +05:30
Rahul Tank d9a5f9ee1c Merge branch 'bugfix/fix_2_connect_status' into 'master'
fix(nimble): route PAwR connection failures to sync callback

See merge request espressif/esp-idf!51841
2026-08-18 22:01:58 +05:30
morris 9ec8d9aa8f Merge branch 'refactor/dac_common_lock_and_log' into 'master'
refactor(dac): split spinlock, update logging and memory management

See merge request espressif/esp-idf!51826
2026-08-18 22:11:22 +08:00
Rahul Tank 20afd9de88 fix(nimble): route PAwR connection failures to sync callback 2026-08-18 18:10:05 +05:30
Hu Rui a6c0989472 refactor(dac): split spinlock, update logging and memory management 2026-08-18 18:56:12 +08:00
Wang Meng Yang 9150d065a3 Merge branch 'feat/support_pan_bnep' into 'master'
feat(bt/bluedroid): support Classic Bluetooth PAN profile

See merge request espressif/esp-idf!50641
2026-08-18 17:38:59 +08:00
morris 0d5bd19841 Merge branch 'feat/gdma_tx_done_teof' into 'master'
feat(gdma): add tx done and total_eof callbacks

See merge request espressif/esp-idf!51818
2026-08-18 15:32:16 +08:00
Jiang Jiang Jian 2247886aef Merge branch 'fix/fix_esp32s31_stuck_in_phy_disable' into 'master'
fix(esp_hw_support): fix esp32s31 stuck in phy_disable if mdoem module is not initialized

Closes PM-839

See merge request espressif/esp-idf!51773
2026-08-18 15:10:51 +08:00
Euripedes Rocha b9d2ca004a Merge branch 'contrib/github_pr_18648' into 'master'
esp_eth: make OpenETH ISR logging DRAM-safe (GitHub PR)

Closes IDFGH-17708, IDFGH-17704, and IDFGH-17705

See merge request espressif/esp-idf!51795
2026-08-18 08:35:59 +02:00
Rahul Tank fe3b225773 Merge branch 'feat/add_register_notif_indic' into 'master'
fix(nimble): Add separate helper functions to register indication

Closes BLERP-3041

See merge request espressif/esp-idf!51784
2026-08-18 11:47:33 +05:30
Jiang Jiang Jian c6b3a7e6ef Merge branch 'bugfix/wpa_supplicant_upstream_security_issues' into 'master'
esp_wifi: Port security issues from upstream supplicant

See merge request espressif/esp-idf!50807
2026-08-18 12:19:53 +08:00
Shreyas Sheth 475bb48880 fix(esp_wifi): Harden dpp Auth confirm and drop mismatched auth confirms 2026-08-18 10:39:21 +08:00
morris 124edb2243 Merge branch 'ci/test_tsens_with_psram_config' into 'master'
test(tsens): set malloc internal threshold to zero

Closes IDF-13047

See merge request espressif/esp-idf!51782
2026-08-18 10:11:08 +08:00
Rahul Tank b59df9b133 fix(nimble): Add separate helper functions to register notification/indication 2026-08-17 21:53:57 +05:30
Mahavir Jain 50d1fb0773 fix(esp_hw_support): run ESP32-P4 PMA programming from IRAM
The bootloader locks PMA entries on core 0 only (PMA is per-hart), so
core 1 applies its PMA configuration with effective writes. Executing
that from flash momentarily makes the flash aperture non-cacheable
while reprogramming its entry, which executes ciphertext with flash
encryption enabled (illegal instruction -> CPU lockup).
2026-08-17 19:23:58 +05:30
Mahavir Jain dae3955279 fix(bootloader_support): do not gate application region protection on bootloader config
CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE is bootloader-scoped;
disabling it must not strip the application's PMP/PMA configuration.
The application now always applies region protection.
2026-08-17 19:23:58 +05:30
Mahavir Jain a03ec273f0 fix(esp_hw_support): fix ESP32-S31 CPU lockup with flash encryption during PMA setup
Run esp_cpu_configure_invalid_regions() from IRAM: it reprograms the PMA
entry that keeps the flash aperture cacheable, so an instruction fetched
from flash inside the reprogramming window bypasses the cache and, with
flash encryption enabled, executes ciphertext (illegal instruction ->
CPU lockup).

Also move the PSRAM PMA entry to index 7 so that the application layout
matches the entry earlier bootloaders programmed and locked, keeping the
full layout effective under such bootloaders.
2026-08-17 19:23:58 +05:30
Mahavir Jain 3ee34cdac5 change(esp_hw_support): drop the frozen PMP entry layout for ESP32-S31
Freezing PMP entry indices as a bootloader<->application ABI (pmp_layout.h)
is only needed on targets where an already-shipped bootloader locks PMP
entries (C5, C6, C61, H2, P4). No such bootloader has ever shipped for
ESP32-S31 and, per the v6.2 PMP ownership policy, the bootloader never
configures or locks any PMP entry on this target - so there is no ABI to
freeze. Program all entries by plain index (as on ESP32-H4/H21) and state
that the application-owned layout is not an ABI.
2026-08-17 19:23:58 +05:30
nilesh.kale b5891edb9b feat: enable cpu region protection for esp32s31 2026-08-17 19:23:58 +05:30
linruihao 4f54340e51 feat(bt/bluedroid): support Classic Bluetooth PAN profile
- Port part of PAN/BNEP code from Android
- Add ESP API and BTC layer
2026-08-17 19:52:21 +08:00
Hu Rui b6c74df553 feat(gdma): add tx done and total_eof callbacks 2026-08-17 19:28:07 +08:00
Steven (Yang Minghui) 0c1c52b640 test(tsens): add C5 PSRAM and callgraph coverage 2026-08-17 17:16:41 +08:00
Shu Chen d60155a174 Merge branch 'fix/fix_some_issues_found_in_ot_sdk' into 'master'
fix(openthread): fix configuration-related issues

See merge request espressif/esp-idf!51617
2026-08-17 08:39:40 +00:00
Island ce33f48e01 Merge branch 'idf/ble_audio_ccc_fix' into 'master'
fix(ble_audio): Fix CCCD not found during GATTC auto discovery

See merge request espressif/esp-idf!51541
2026-08-17 16:13:22 +08:00
Martin Vychodil efde3482d1 Merge branch 'bugfix/nvs-cxx-handle-docs' into 'master'
docs(nvs_flash): add C++ NVS handle API documentation

Closes IDFGH-8859

See merge request espressif/esp-idf!51066
2026-08-17 15:16:34 +08:00
Island ac6504cab6 Merge branch 'fix/use_conflict_cb_for_regi2c_when_regdma_rf_is_used' into 'master'
feat(sleep): applied regi2c conflict process at regdma rf

See merge request espressif/esp-idf!51770
2026-08-17 14:43:56 +08:00
morris 3438867a73 Merge branch 'lld_orphan' into 'master'
esp_system: enable linking with LLD on RISC-V targets

Closes LLVM-216

See merge request espressif/esp-idf!48712
2026-08-17 14:40:36 +08:00
Xu Si Yu 33fbf82bdd fix(openthread): fix configuration-related issues 2026-08-17 14:12:40 +08:00