Commit Graph

38070 Commits

Author SHA1 Message Date
Gao Xu
1f590b9006 Merge branch 'fix/isp_error_when_rgb888_input' into 'master'
fix(isp): initialize Color defaults for RGB DMA output

See merge request espressif/esp-idf!51623
2026-08-10 16:05:37 +08:00
Wu Zheng Hui
234c68ba93 Merge branch 'feat/support_esp32s31_xtal_fosc_force_pu' into 'master'
feat: update XTAL sleep FPU parameters to save power

Closes PM-824 and IDF-15576

See merge request espressif/esp-idf!51100
2026-08-10 15:37:00 +08:00
Frantisek Hrbata
e9cf6abc31 Merge branch 'fix/harden_empty_toolchain_output' into 'master'
fix: harden build against empty toolchain output

Closes IDFGH-17820

See merge request espressif/esp-idf!50136
2026-08-10 09:31:40 +02:00
gaoxu
daad26433d fix(isp): initialize Color defaults for RGB DMA output 2026-08-10 15:15:22 +08:00
Jiang Jiang Jian
67b6ef3c1c Merge branch 'fix/owe_prevent_double_free' into 'master'
fix(wifi): Prevent double free in owe failure path

Closes SEC-261

See merge request espressif/esp-idf!51401
2026-08-10 14:18:26 +08:00
Jiang Jiang Jian
a1ca70eb43 Merge branch 'fix/nan_avail_time_bitmap' into 'master'
fix(nan): fix Wi-Fi Aware NDP handshake interop with iOS 17 series

See merge request espressif/esp-idf!51544
2026-08-10 12:29:48 +08:00
Erhan Kurubas
57ccd12f17 Merge branch 'esp32c5_trace_encoder' into 'master'
feat(esp_riscv_trace): add ESP32-C5 support

See merge request espressif/esp-idf!51384
2026-08-07 13:45:10 +02:00
Sudeep Mohanty
b89de9bbaf Merge branch 'feat/improve_freertos_crit_section_perf' into 'master'
feat(freertos): Speed up multi-core critical section entry and exit

Closes IDFGH-18060

See merge request espressif/esp-idf!51531
2026-08-07 13:17:28 +02:00
Song Ruo Jing
4ecd3e2287 Merge branch 'bugfix/uart_extra_current_consumption_in_sleep' into 'master'
fix(uart): reduce current consumption in sleep mode

See merge request espressif/esp-idf!50416
2026-08-07 19:07:26 +08:00
Rahul Tank
1690e355cb Merge branch 'bugfix/fix_pawr_prph_conn' into 'master'
fix(nimble): deliver PAwR peripheral connection events

See merge request espressif/esp-idf!51410
2026-08-07 09:20:34 +05:30
Gao Xu
c7a146ea24 Merge branch 'fix/update_trng_workflow_for_esp32s31' into 'master'
fix(rng): update TRNG bringup for esp32s31 runtime use

See merge request espressif/esp-idf!48579
2026-08-07 11:32:46 +08:00
Erhan Kurubas
1a59c3e769 feat(esp_riscv_trace): add ESP32-C5 support 2026-08-06 17:13:04 +02:00
Marius Vikhammer
81f6360e4d Merge branch 'feat/optimize_bootloader_size' into 'master'
change(bootloader): optimize bootloader size

See merge request espressif/esp-idf!51573
2026-08-06 22:06:38 +08:00
Frantisek Hrbata
0e68539658 Merge branch 'fix/cxx_libgcc_cxx_self_reference' into 'master'
fix(cxx): avoid self-referential generator expression in libgcc_cxx

See merge request espressif/esp-idf!48945
2026-08-06 15:33:03 +02:00
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
faa9d09760 Merge branch 'bugfix/fix_iso_double_free' into 'master'
fix(nimble): Remove extra free to avoid double free

See merge request espressif/esp-idf!51446
2026-08-06 18:49:57 +05:30
Sarvesh Bodakhe
42651e1ee1 fix(wifi): fix NAN availability time bitmap parsing issue
Accept spec-legal NAN availability time bitmaps (period > 512 TU,
bitmap length > 4, full 9-bit start offset) so iPhone secured NDP
setup is no longer rejected with NDL_UNACCEPTABLE.

Fixes NAN NDP interop with the iPhone 17 series.
2026-08-06 17:25:48 +05:30
Sarvesh Bodakhe
94988c5aa4 fix(wpa_supplicant): accept NIK follow-up key descriptor with Key Type=0
iPhone (and hostap) set Key Type=0 in the pairing NIK follow-up Shared-Key
Descriptor (key_info=0x1340) since the NIK is not a pairwise key. We required
the pairwise bit and rejected the frame before decryption, so the NIK
exchange timed out and pairing was torn down. Require only the Encrypted
Key Data bit.
2026-08-06 17:25:35 +05:30
Sudeep Mohanty
9ab3da0da8 feat(freertos): speed up SMP critical section enter and exit
The critical section port already disables interrupts and reads the core id for
the whole section, but spinlock_acquire()/spinlock_release() then disabled
interrupts again to the same level and re-read the core id register.

Add spinlock_acquire_impl()/spinlock_release_impl(), which take a caller-supplied
owner id and skip interrupt management, and reuse them from
spinlock_acquire()/spinlock_release() to avoid duplicated code. The Xtensa and
RISC-V ports now read the core id once and call the impl variants, removing one
core id read and one interrupt mask/restore per critical section enter and exit.

Closes https://github.com/espressif/esp-idf/issues/18908
2026-08-06 12:43:28 +02:00
Mahavir Jain
846b17f1bd Merge branch 'fix/fix_esp_mbedtls_read_return_code' into 'master'
fix(esp-tls): correct return codes and harden TLS 1.3 ticket handling

Closes SEC-237, SEC-359, and SEC-360

See merge request espressif/esp-idf!48720
2026-08-06 16:10:05 +05:30
Erhan Kurubas
cc6cc219f8 Merge branch 'esp32s31_trace_encoder' into 'master'
feat(esp_riscv_trace): add ESP32-S31 support

See merge request espressif/esp-idf!51350
2026-08-06 12:38:03 +02:00
Alexey Lapshin
366ce3ebed Merge branch 'fix/kasan_heap_alignment' into 'master'
fix(heap): preserve aligned allocation with KASAN

See merge request espressif/esp-idf!51186
2026-08-06 14:06:58 +04:00
Rahul Tank
fd7dacb9bc fix(nimble): Remove extra free to avoid double free 2026-08-06 15:16:02 +05:30
Ondrej Kosta
4d9524b308 Merge branch 'fix/ethernet_init_ver' into 'master'
ci(esp_eth): use fixed version of eth_test_app

See merge request espressif/esp-idf!51555
2026-08-06 16:51:05 +08:00
Marius Vikhammer
47262f8e6b change(bootloader): optimize bootloader size
Trim bootloader size by moving some logs to DEBUG. Allows
compiling bootloader on P4 with CONFIG_ESPTOOLPY_FLASHMODE_QIO
without changing partition table offset
2026-08-06 10:01:36 +02:00
sibeibei
2b528716be fix(scan): prioritize if1_conn check for home channel return logic 2026-08-06 15:39:06 +08:00
Song Ruo Jing
1f2ea33cd8 Merge branch 'fix/h4_s31_enable_multi_board_test' into 'master'
fix(ci): re-enable some LEDC/UART tests for H4, S31

Closes IDF-15610 and IDF-15619

See merge request espressif/esp-idf!51529
2026-08-06 15:27:38 +08:00
Ondrej Kosta
fb07be93ba ci(esp_eth): use fixed version of eth_test_app 2026-08-06 15:03:08 +08:00
Mahavir Jain
2495e37a48 Merge branch 'feat/pma_pmp_lock_policy' into 'master'
Stop locking PMP in the bootloader and freeze the entry layout

See merge request espressif/esp-idf!50326
2026-08-06 11:31:39 +05:30
Ashish Sharma
06f2672046 fix(esp-tls): correct return codes and harden TLS 1.3 ticket handling 2026-08-06 13:52:21 +08:00
Erhan Kurubas
3dfd8f0154 feat(esp_riscv_trace): add ESP32-S31 support
ESP32-S31 uses the same trace encoder IP as ESP32-P4. Of the E-Trace v2.0
parameters the two targets report, only privilege_width_p differs (1 on P4,
2 on S31), and it affects both the sync packet layout and the filter's
privilege selector.

- Add the SOC_RISCV_TRACE_* caps for ESP32-S31 along with the esp32s31 LL, and
  declare TRACE0/TRACE1 in the target's trace_struct.h.
- Carry privilege_width_p as SOC_RISCV_TRACE_PRIV_WIDTH so the sync packet
  decoder can locate the address field, which starts one bit later on targets
  that implement supervisor mode.
- Use the RISC-V architectural privilege encoding (0 user, 1 supervisor,
  3 machine) in the public filter enum so the values do not change per target,
  and let each LL narrow them to its own register field.
- Add riscv_trace_ll_priv_is_supported() per target, so a privilege level the
  selector cannot represent is rejected with ESP_ERR_NOT_SUPPORTED rather than
  being silently narrowed to a different level. It lives next to the narrowing
  code so the two cannot drift apart.
- Fix trace buffer allocation on targets whose internal RAM is not reached
  through a cache. esp_cache_get_alignment() reports 0 there, which underflowed
  the size check and failed every allocation. Align base and size to the larger
  of the reported cache line and the encoder's 4-byte write granularity.
2026-08-06 13:08:26 +08:00
Jiang Jiang Jian
a063a8440f Merge branch 'fix/fix_scan_and_connect_issue' into 'master'
fix(wifi): fix wifi scan and wps connect issue

Closes WIFIBUG-2051

See merge request espressif/esp-idf!51528
2026-08-06 10:56:41 +08:00
Frantisek Hrbata
841faa3614 fix(cxx): avoid self-referential generator expression in libgcc_cxx
The cxx component re-injects its own archive late on the link line so its
stack-unwind wrappers take precedence over libgcc's (when C++ exceptions
are disabled). It does this through an INTERFACE helper, libgcc_cxx, that
carries `$<TARGET_FILE:${cxx}>`. That helper was linked back into the cxx
target with PUBLIC, which places it in the cxx archive's own
LINK_LIBRARIES, so the cxx target ends up transitively referencing its
own output file.

When CMake computes the cxx target's sources it walks the target's own
link implementation, encounters `$<TARGET_FILE:${cxx}>`, and to resolve the
file it needs the target's link language, which in turn needs its
sources. This loop makes generation fail with:

    The SOURCES of "..." use a generator expression that depends on the
    SOURCES themselves.

CMake only hits this when it reaches the cxx target standalone before the
target has been pulled into a link by a consumer, and whether that
happens depends on the project layout and target evaluation order. That
is why it surfaces only in some projects, while the examples build fine.

Link libgcc_cxx as INTERFACE instead of PUBLIC. A static archive is not
linked, so its private LINK_LIBRARIES are inert; consumers still receive
libgcc_cxx through INTERFACE_LINK_LIBRARIES, so the intended link order is
preserved. Removing the self-reference makes generation independent of
evaluation order.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-08-05 20:59:11 +08:00
Frantisek Hrbata
5c5d15cfc7 fix: harden build against empty toolchain output
On some Windows systems, antivirus, endpoint-security or DLP/encryption
software intercepts short-lived toolchain processes and strips their
stdout when the build captures it through a pipe, while the same command
prints its output normally when run by hand. The tool exits successfully
but returns nothing, and each build step that reads toolchain output then
failed with a different, cryptic error far from the real cause:

- CMake configuration aborted with "Unknown arguments specified" in
  components/xtensa/project_include.cmake, or "check_expected_tool_version
  invoked with incorrect arguments" in components/esp_common.
- ldgen turned the empty objdump output into an opaque pyparsing
  "Expected 'In archive'" traceback.
- idf_tools.py silently reported the compiler/debugger version as
  "unknown", sending users into a fruitless reinstall loop.

Detect the empty result at each consumer and fail (or warn) with an
actionable message that names the likely cause and the remedy:

- tools/cmake/compiler_query.cmake: new __compiler_query() helper runs a
  compiler query and fails with a clear error on empty or failed output.
  It is a standalone module included by both the cmakev1 and cmakev2
  utilities, since the esp_common and xtensa project_include.cmake that
  call it are shared by both build systems. The xtensa if() arguments are
  now quoted so an empty result no longer collapses into a parse error.
- tools/ldgen/ldgen.py: _run_objdump() rejects empty objdump output, and
  non-empty-but-unparsable section info is caught and re-raised as a clear
  LdGenFailure instead of a raw pyparsing traceback.
- tools/idf_tools.py: empty version output now warns with the cause and
  returns UNKNOWN_VERSION instead of silently reporting "unknown".

Closes https://github.com/espressif/esp-idf/issues/18727

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-08-05 20:58:36 +08:00
Sudeep Mohanty
9b35fd4405 Merge branch 'fix/ulp_full_build_test_fix' into 'master'
fix(cxx): skip flag setup for custom-toolchain subprojects

Closes IDFCI-13457

See merge request espressif/esp-idf!51545
2026-08-05 12:25:37 +02:00
Sudeep Mohanty
39f757ebce fix(cxx): skip flag setup for custom-toolchain subprojects
Skip processing cxx/project_include.cmake when building subprojects such
as ULP as they use custom toolchain and IDF toolchain helpers are not
available.
2026-08-05 11:14:05 +02:00
Sudeep Mohanty
cbc4dff964 Merge branch 'feat/ulp_custom_linker_support' into 'master'
ULP: Support custom LP Core linker layouts via the LINKER option

Closes IDF-12902

See merge request espressif/esp-idf!49991
2026-08-05 10:10:32 +02:00
Mahavir Jain
c9095b026f Merge branch 'feat/disable_constant_time_rsa_key_gen' into 'master'
fix(mbedtls): revert to non constant time rsa key gen

See merge request espressif/esp-idf!51026
2026-08-05 12:52:27 +05:30
gaoxu
5a2658edb4 fix(rng): fix esp_random failed beacuse do not enable RNG clock 2026-08-05 14:43:24 +08:00
Gao Xu
db9e5b4d31 Merge branch 'feat/rng_support_h21' into 'master'
H21 RNG support

Closes IDF-11503

See merge request espressif/esp-idf!50061
2026-08-05 14:15:43 +08:00
Mahavir Jain
d9f42b3fc6 Merge branch 'update/update_certs_bundle' into 'master'
Update esp_crt_bundle certificates

See merge request espressif/esp-idf!50852
2026-08-05 10:42:06 +05:30
Mahavir Jain
5e9ca673ac Merge branch 'contrib/github_pr_18880' into 'master'
fix(esp_https_ota): Add missing requirement to `bootloader_support` component (GitHub PR)

Closes IDFGH-18024

See merge request espressif/esp-idf!51505
2026-08-05 10:05:20 +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
Sudeep Mohanty
60dc69391b Merge branch 'feat/buildv2_kasan' into 'master'
feat(build): support KASAN in the build system v2 (cmakev2)

See merge request espressif/esp-idf!51408
2026-08-04 17:34:00 +02:00
Song Ruo Jing
28acedf295 fix(ci): re-enable some LEDC/UART tests for H4, S31 2026-08-04 21:23:44 +08:00
wangtao@espressif.com
bbccbd5b1d fix(wifi): fix wifi scan and wps connect issue 2026-08-04 20:33:34 +08:00
Alexey Gerenkov
72732994ef Merge branch 'feature/enable_atomic_lock_policy_on_riscv' into 'master'
feat(build): add CONFIG_COMPILER_CXX_ATOMIC_LOCK_POLICY option

See merge request espressif/esp-idf!49913
2026-08-04 20:05:40 +08:00
Jiang Jiang Jian
43b98a4fcc Merge branch 'bugfix/fix_disconnect_failure_issue' into 'master'
fix(wifi): fix disconnect failure issue

Closes WIFI-7510

See merge request espressif/esp-idf!51176
2026-08-04 19:45:45 +08:00
Alexey Lapshin
36586b15d6 Merge branch 'fix/newlib_builds' into 'master'
Fix: newlib compatibility with libraries built with picolibc headers

Closes IDF-15962

See merge request espressif/esp-idf!51013
2026-08-04 14:41:32 +04:00
Alexey Lapshin
3003d738eb Merge branch 'fix/heap_trace_stack_corruption' into 'master'
fix(heap): avoid stack smash when heap tracing stack depth is 0

See merge request espressif/esp-idf!51416
2026-08-04 14:28:47 +04:00