Commit Graph

54597 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
Frantisek Hrbata
a9de9dc172 Merge branch 'fix/ldgen_template_fingerprint' into 'master'
fix(ldgen): add the linker template to the generation fingerprint

See merge request espressif/esp-idf!51620
2026-08-10 08:31:03 +02: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
Renz Christian Bagaporo
1c183dc089 Merge branch 'fix/ldgen_stale_output' into 'master'
fix(cmake): track transitive includes in linker script preprocessing

Closes IDF-16033

See merge request espressif/esp-idf!51580
2026-08-07 16:44:17 +08:00
Frantisek Hrbata
5d4e96aeb8 fix(ldgen): add the linker template to the generation fingerprint
ldgen skips regeneration when a fingerprint over the section names, the
linker fragment files, sdkconfig and Kconfig is unchanged. The linker
script template was not part of that fingerprint, even though everything
outside its mapping placeholders is copied into the generated script
verbatim.

The build system regenerates the preprocessed template whenever any of
its inputs changes, not only when a linker fragment changes. When such a
change reaches ldgen but leaves the section names alone, the fingerprint
still matches, generation is skipped, and the image is linked against the
previously generated script. The skip path updates the mtime of the
output, so nothing in the build output shows that the change was dropped.

Add the template to the fingerprint so that regenerating it always
regenerates the linker script.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-08-07 10:39:10 +02: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
Jiang Jiang Jian
8a928b98f2 Merge branch 'bugfix/fix_softap_return_home_channel_failed' into 'master'
fix(scan): prioritize if1_conn check for home channel return logic

Closes WIFI-7471 and WIFI-7428

See merge request espressif/esp-idf!50373
2026-08-06 16:32:24 +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
Fu Hanxi
e762c3cea2 Merge branch 'ci/fix-build_clang_test' into 'master'
ci: fix double quotes with MR_MODIFIED_FILES

See merge request espressif/esp-idf!51567
2026-08-06 03:41:03 +02:00
Renz Bagaporo
a3b304f380 fix(cmake): track linker script preprocessor includes 2026-08-06 09:18:13 +09:00
Renz Bagaporo
dfc3f54445 test(cmake): verify included linker scripts trigger preprocessing 2026-08-06 09:18:13 +09:00
Fu Hanxi
ecdf3bfb3c ci: fix test_patch_buildv2_child_pipeline 2026-08-05 23:34:14 +02:00
Fu Hanxi
c560de5566 ci: fix double quotes with MR_MODIFIED_FILES 2026-08-05 21:16:12 +02:00
Marek Fiala
ee6b0ed9ae Merge branch 'fix/mcp_support_major_2' into 'master'
fix(tools): mcp-server supports python package mcp > 2

Closes IDFGH-18056

See merge request espressif/esp-idf!51517
2026-08-05 21:18:31 +08:00
Sudeep Mohanty
514f69c1f3 Merge branch 'fix/buildv2_fake_pass_pipeline' into 'master'
ci(buildv2): skip patching the fake_pass build child pipeline

Closes ITOPS-314 and IDF-16025

See merge request espressif/esp-idf!51259
2026-08-05 15:16:40 +02: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
Mahavir Jain
6498d81eb4 Merge branch 'docs/vulnerabilities_guide_new_advisories' into 'master'
docs(security): update vulnerabilities guide with recently published advisories

See merge request espressif/esp-idf!51456
2026-08-05 18:27:43 +05:30
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
Wang Meng Yang
c9b1e5fe5c Merge branch 'opt/hfp_audio_quality' into 'master'
change(bt/bluedroid): optimized the HFP example workflow to improve audio quality

See merge request espressif/esp-idf!51346
2026-08-05 17:54:34 +08: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
Michael (XIAO Xufeng)
b12870c43d Merge branch 'sdio-example-4bit-bringup' into 'master'
example(sdio_slave): add docs and examples for SI testing

See merge request espressif/esp-idf!49371
2026-08-05 16:48:38 +08:00