Commit Graph
38739 Commits
Author SHA1 Message Date
Wan Lei 18f20981cc Merge branch 'feat/rtcio_hysterisys_filter_support' into 'master'
feat(driver_gpio): rtcio hysterisys filter support

See merge request espressif/esp-idf!52335
2026-09-14 10:23:23 +08:00
Wan Lei 675006be70 Merge branch 'refactor/spi_sct_part_soc_header_refactor' into 'master'
refactor(driver_spi): refactor header styles of spi sct part on soc and lowlevel

Closes IDF-10583, IDF-10584, IDF-10585, IDF-10586, and IDF-13725

See merge request espressif/esp-idf!51676
2026-09-14 10:22:48 +08:00
Wang Meng Yang 62fe690ffd Merge branch 'bugfix/fix_pbac_pm_config' into 'master'
fix(bt/bluedroid): enable sniff power management for PBAP client

Closes BT-4500

See merge request espressif/esp-idf!52417
2026-09-14 08:16:50 +08:00
Wang Meng Yang 3d5e088811 Merge branch 'bugfix/msbc_oob_read' into 'master'
fix(bt/bluedroid): fixed OOB read dring mSBC sync word check

Closes BT-4505

See merge request espressif/esp-idf!52499
2026-09-14 08:07:07 +08:00
Mahavir Jain 0d1b945b16 Merge branch 'fix/fix_clk_tree_abba_deadlock' into 'master'
fix(esp32s31): break clk_tree and deadlock with PERIPH_RCC

Closes PM-871

See merge request espressif/esp-idf!52621
2026-09-13 16:40:51 +05:30
Mahavir Jain 4ce95a0296 Merge branch 'fix/esp_tls_cert_flags_on_handshake_failure' into 'master'
fix(esp-tls): report certificate flags when the handshake fails

Closes IDF-16151

See merge request espressif/esp-idf!52627
2026-09-13 16:22:44 +05:30
Shreeyash Bhakare 8fd86fecde fix(nimble): Send Prepare Write Request before Execute Write with zero-length data 2026-09-13 09:12:59 +05:30
Island 5621e186dc Merge branch 'refactor/ble-log-lbm-overhaul' into 'master'
refactor: BLE Log LBM Overhaul

See merge request espressif/esp-idf!52299
2026-09-11 20:09:53 +08:00
Ivan Grokhotkov 32cdd1d999 Merge branch 'refactor/usb_console_hal' into 'master'
refactor(console): Use esp_hal_usb APIs in USB console

Closes IDF-15755 and IDFGH-11591

See merge request espressif/esp-idf!51843
2026-09-11 13:04:53 +02:00
Ivan Grokhotkov 704fa1d8e2 Merge branch 'contrib/github_pr_18985' into 'master'
fix(usb): keep CDC ISR callbacks in IRAM (GitHub PR)

Closes IDFGH-18154 and IDFGH-17979

See merge request espressif/esp-idf!51990
2026-09-11 13:04:42 +02:00
Ivan Grokhotkov b171649d67 Merge branch 'fix/usb_bbpll_light_sleep' into 'master'
fix(usb_phy): Fixed USB PHY clock during low-power modes

Closes IDFGH-14711

See merge request espressif/esp-idf!51822
2026-09-11 13:04:30 +02:00
Ivan Grokhotkov 10708d6ecd Merge branch 'feat/usb_fsls_only' into 'master'
feat(esp_hal_usb): Add option to run FS/LS only host on HS target

See merge request espressif/esp-idf!52184
2026-09-11 13:04:17 +02:00
Rahul Tank 7e5235a7a7 Merge branch 'bugfix/nimble_issues_08092026' into 'master'
fix(nimble): fix few nimble issues 08092026

Closes BLERP-3063

See merge request espressif/esp-idf!52593
2026-09-11 14:15:15 +05:30
Island e871592435 Merge branch 'change/ble_update_lib_esp32h2_20260910' into 'master'
fix(bt): supported allocate memroy from spiram for ESP32-S31 and ESP32-H4

See merge request espressif/esp-idf!52707
2026-09-11 15:20:34 +08:00
wanckl 2d811702f3 feat(driver_spi): support master driver internal sct api on later chips 2026-09-11 15:05:20 +08:00
wanckl 3c89c34847 refactor(driver_spi): refactor spi sct parts lowlevel header styles 2026-09-11 15:05:20 +08:00
Tomas Rezucha e8032f6ff6 feat(esp_hal_usb): Add option to run FS/LS only host on HS target
Add function usb_dwc_hal_init_with_config() that takes a bitmap
of configuration flags.
Currently only FS/LS only flag is implemented, but the design
allows extension in the future.
2026-09-11 14:22:44 +08:00
Marius Vikhammer deb69a8dfe Merge branch 'fix/adjtime-offset-truncation' into 'master'
fix(esp_libc): reject out-of-range adjtime() deltas instead of overflowing

Closes IDFGH-18241

See merge request espressif/esp-idf!52498
2026-09-11 14:13:42 +08:00
Ashish Sharma 8fbfc7fc5f fix(esp-tls): report certificate flags when the handshake fails 2026-09-11 13:46:42 +08:00
Astha Verma 56f1ae2947 fix(nimble): Fix nimble HID service discovery 2026-09-11 11:16:03 +05:30
Rahul Tank 25c114e07a Merge branch 'bugfix/fix_compilation_issue' into 'master'
fix(nimble): Fixed compilation issues due to missing BLE_GATTS

See merge request espressif/esp-idf!52719
2026-09-11 10:37:49 +05:30
Mahavir Jain 957618d083 Merge branch 'fix/buildv2_fault_assert_opt_check' into 'master'
fix(esp_security): use EXECUTABLE in fault_assert_opt_check

See merge request espressif/esp-idf!52640
2026-09-11 09:53:36 +05:30
Mahavir Jain 78dac3a276 Merge branch 'test/tee_sec_stg_aead_len_bounds' into 'master'
test(esp_tee): fix oversized AEAD test to exercise the length check

See merge request espressif/esp-idf!52684
2026-09-11 09:50:21 +05:30
Marius Vikhammer 5f22e4390c Merge branch 'fix/console_stop_repl_join' into 'master'
fix(console): join the REPL task before esp_console_stop_repl frees it

See merge request espressif/esp-idf!52590
2026-09-11 11:11:34 +08:00
Jiang Jiang Jian 5755871cb4 Merge branch 'bugfix/idfci-13866' into 'master'
config wakeup gpio pin internal pullup to avoid input floating

Closes IDFCI-13866

See merge request espressif/esp-idf!52588
2026-09-11 10:47:04 +08:00
Jiang Jiang Jian 342dd1f9c4 Merge branch 'feat/esp_idf_h4_clk_tree_management' into 'master'
Feat/esp idf h4 h21 clk tree management

Closes PM-858 and PM-653

See merge request espressif/esp-idf!50653
2026-09-11 10:38:04 +08:00
Jiang Jiang Jian 57602151fa Merge branch 'fix/supplicant_checks' into 'master'
Fixed OOB read on short FT auth and RRM action frames

Closes SEC-766 and SEC-767

See merge request espressif/esp-idf!52683
2026-09-11 10:25:44 +08:00
Rahul Tank 1e07c30c9f fix(nimble): Fixed compilation issues due to missing BLE_GATTS 2026-09-11 07:29:56 +05:30
ShenWeilong 91234cb3f2 fix(bt): supported allocate memroy from spiram for ESP32-S31 and ESP32-H4 2026-09-10 20:53:10 +08:00
Jiang Jiang Jian b50fc62d2f Merge branch 'bugfix/fix_example_power_save_build_fail_issue' into 'master'
fix(esp_timer): preserve timer_process_alarm symbol for ldgen

Closes WIFI-7625

See merge request espressif/esp-idf!52528
2026-09-10 20:45:17 +08:00
wanckl e9483b09fd feat(driver_gpio): support hysterisys filer in rtcio mode 2026-09-10 20:33:28 +08:00
Jiang Jiang Jian 51a9b3acf8 Merge branch 'fix/wpa_supp_checks' into 'master'
fix(wifi) : Add length/NULL checks and some minor changes

Closes SEC-258, SEC-262, SEC-260, SEC-737, SEC-760, SEC-768, and SEC-744

See merge request espressif/esp-idf!51110
2026-09-10 20:06:36 +08:00
Rahul Tank bbb5870da3 Merge branch 'bugfix/hardware_error_assert' into 'master'
fix(nimble): Add hardware error event handling as normal event

Closes BLERP-3096

See merge request espressif/esp-idf!52524
2026-09-10 17:08:32 +05:30
Island 24a32ed25e Merge branch 'change/ble_update_lib_20260904' into 'master'
change(ble): [AUTO_MR] 20260904 - Update ESP BLE Controller Lib

Closes BLERP-3068, BLERP-3084, BLERP-3087, and BLERP-3100

See merge request espressif/esp-idf!52434
2026-09-10 19:07:41 +08:00
morris 376a9780cc Merge branch 'test/touch_deep_sleep_wakeup' into 'master'
test(touch): Add touch sensor deep sleep wake-up ci test

Closes IDF-15439

See merge request espressif/esp-idf!52474
2026-09-10 18:51:12 +08:00
Yogesh Mantri a287bbc25e fix(console): delete state_mux when REPL creation fails 2026-09-10 10:12:00 +00:00
Yogesh Mantri 4532e7e8c8 fix(console): join with an empty semaphore instead of a given mutex 2026-09-10 10:12:00 +00:00
Yogesh Mantri cd1a5fc1f3 fix(console): join the REPL task before esp_console_stop_repl frees it 2026-09-10 10:12:00 +00:00
Rahul Tank 0a55d54683 fix(nimble): Add hardware error event handling as normal event 2026-09-10 17:32:41 +08:00
Rahul Tank 97f81dd22b Merge branch 'feat/migrate_nimble_10' into 'master'
feat(nimble): Migrate to nimble-1.10.0

See merge request espressif/esp-idf!51858
2026-09-10 14:26:10 +05:30
Axymorrsen c30626100e fix(usb): keep CDC ISR callbacks in IRAM 2026-09-10 16:24:19 +08:00
linruihao 910cd35575 fix(bt/bluedroid): enable sniff power management for PBAP client 2026-09-10 15:48:29 +08:00
guozifan 7a07b79fc6 fix(ble_log): extend snapshot accounting and correct pool flushing
Count successful frame bytes and share Global SN with snapshots.
Track snapshot attempts with a separate 24-bit anchor_count. Keep protocol v8.

Scan writer-held buffers during periodic flush and require a published FREE bit.
Keep UART0 periodic draining active when producers are disabled.
Document late pending-seal hints and update existing snapshot checks.
2026-09-10 15:39:56 +08:00
Zhou Xiao e3e3ac6541 test(ble_log): soak the park/wake handshake and fix observer latching
- concurrent-writer integrity and park/wake soak cases: many writers
  across shared and reserve transports keep frames intact and SNs
  unique through continuous park/wake turnover;
- the deinit race case wakes parked writers before joining, so the
  join cannot deadlock on a task that must first observe the closed
  gate;
- the perf observer latches its final counters only from FLUSH
  snapshots: periodic frames arriving after the FLUSH snapshot carry
  interval counters that the flush reset, and must not overwrite the
  final result;
- README describes the timestamp prefix by writer path.
2026-09-10 15:39:56 +08:00
Zhou Xiao 22812d893a fix(ble_log): harden the pool waiter handshake and claim ordering
Consolidates the concurrency review fixes for the unified pool:

- the shared ESP Timer task never waits for a transport: its identity
  is checked on the would-wait path only, so its callbacks always
  return and dispatch can progress (this also bounds claim()'s
  backpressure);
- transports accepted from the FREE bitmap are ACQUIRE-loaded: the
  recycler publishes pos/pending_seal with a STORE_RELEASE(FREE)
  without holding the candidate lock, and the acceptance load pairs
  with that publication;
- a waiter whose scan bounced off a candidate lock is re-advertised:
  the releasing side re-checks availability after the lock release,
  inside the same seq_cst window as the waiter-count read, so a
  transport that became claimable while locked cannot strand its wake;
- waiters never self-wake on an unpublished FREE transport:
  notification for a FREE transport fires only when its free-bitmap
  hint is already published, so a registered waiter cannot mint and
  consume its own wake tokens in a self-sustaining spin;
- flush and deinit drains re-check writer references after observing a
  zero waiter count: a writer waking between the two loads re-acquires
  its reference before unregistering, and the seq_cst-fenced re-read
  must observe it before the drain concludes.
2026-09-10 15:39:56 +08:00
Zhou Xiao 2cf0638686 feat(ble_log): attribute compressed records with a task-id registry
Protocol v8: every ENCODE record carries the one-byte id of the task
that formatted it, replacing the incremental TASK_SWITCH marker scheme.
Attribution becomes a property of the record: the per-source CAS lock,
the last_task_handle writeback, and the try-lock contention drops are
deleted, so concurrent writers to one source can no longer lose records
to attribution races.

The registry is a self-contained module (ble_log_task_registry.c/h,
structured like the UART redirection writer): an append-only name-keyed
table shared by every ENCODE writer, 16 bytes of RAM per entry, sized by
CONFIG_BLE_LOG_TASK_ID_MAX. Word compares resolve ids lock-free on the
record path; the registration CAS serializes only the cold path (once
per task lifetime), and a record resolves its writer id after its claim
succeeds, so the claim's lifetime reference pins the registry epoch and
the id cannot cross an init/deinit boundary. A full registry or a
contended registration degrades that record to the unknown id (0xFF)
and still emits it. ISR callers stop at the lookup-miss branch before
registration mutates shared state.

Bindings are module-owned system output: every periodic snapshot window
broadcasts one INTERNAL frame packing one fixed-layout record per
registered entry on the registry's own dedicated transport, with a
sequence of its own (a gap counts a skipped broadcast window, never a
lost snapshot). A busy transport skips the window and the next one
rebroadcasts, so a receiver that joined late converges on the next
window.

BLE_LOG_VERSION is bumped to 8: old decoders must not parse the new
record layout. The compression encoders reject truncated NULL-buffer
records instead of committing partial payloads, and the test app enables
host compression with a 4-entry registry so the table-full path is
reachable on target.
2026-09-10 15:39:56 +08:00
Zhou Xiao 0b8368ee86 fix(ble_log): restore controller HCI capture without Host hooks
Keep Host capture for Bluedroid and legacy VHCI NimBLE while retaining controller HCI records for transports without Host capture. Respect the HCI logging switch and preserve controller source mapping and payloads.

Extend metadata regression coverage and document capture selection.
2026-09-10 15:39:56 +08:00
Zhou Xiao 278b0d9620 fix(ble_log): make yieldable public writes wait for a shared transport
The NON_YIELD flag in bit 7 of the frame source byte forced every
receiver to mask the byte before decoding the source, while carrying
little information beyond what the source ID already implies. Protocol
v7 is not released yet, so drop the flag instead of versioning it:
the source byte now carries the bare frozen ble_log_src_t value.

The internal pool reservation for non-yieldable contexts
(BLE_LOG_POOL_NON_YIELD_RESERVE_CNT) is untouched: it is memory
management, not wire format.

Update the golden bytes (source byte 0x87 -> 0x07, recomputed
checksum) and rename the critical-section frame capture test
accordingly; the walker structs lose the redundant source_meta
field.
2026-09-10 15:39:56 +08:00
Zhou Xiao 281ce584f3 refactor(ble_log): remove the dead legacy LBM module and tidy the v7 switch
ble_log_lbm.c/h were superseded by the v2 LBM (protocol v7) and are
not part of the build; the two files only referenced each other. The
deprecated Kconfig entries stay untouched - downstream test apps may
still pin the old symbols (e.g. BLE_LOG_LL_HCI_LOG_PAYLOAD_LEN_LIMIT).

Post-switch polish folded in: version info built in place inside lbm
init, pool-internal tidying, simplified runtime submit/defer paths,
per-snapshot clock sampling, shared waiter-count RMW in the acquire
path, and dropped zero-value transport field inits.
2026-09-10 15:39:56 +08:00
Zhou Xiao 06478ec313 feat(ble_log): make TS sync unconditional with toggle-IO-only Kconfig
TS sync now always runs: the periodic tick (TS sample, OPEN transport
flush, internal snapshot) exists in every build, so the unified periodic
output no longer depends on BLE_LOG_TS_ENABLED and idle systems without
dispatch activity still flush every second.

- New BLE_LOG_TS_SYNC_TOGGLE_IO_ENABLED gates only the analyzer toggle
  IO (GPIO config, level writes, reset); with it unset, TS snapshots
  still sample the clocks and carry io_level = 0. BLE_LOG_TS_ENABLED
  keeps its prompt as a deprecated compatibility entry that selects
  BLE_LOG_TS_SYNC_TOGGLE_IO_ENABLED, so existing projects keep the old
  toggle behavior, and the TS trigger entries drop their dependency on
  it.
- ble_log_ts is no longer a separate module: its 95-line shell (clock
  sampling, toggle IO management) joins ble_log_rt.c, the only runtime
  that drives it. ble_log_ts_info_t moves to ble_log_lbm_v2.h (the
  snapshot interface that consumes it), the BLE_LOG_GET_LC_TS chip
  table moves next to its single caller, the init/deinit folds into
  ble_log_rt_init/deinit, the reset folds into ble_log_sync_enable, and
  the sampler becomes a void static now that its failure paths are gone.
- The runtime hook is gone: with the tick always present, its throttled
  defer-callback fallback for runtime-disabled sync served no one. The
  TS tick is the only periodic output source; ble_log_sync_enable(false)
  now means full periodic silence, and ble_log_rt_dispatch loses its
  return value. The version-info regression now arms the tick instead
  of the hook.
- BLE_LOG_GET_LC_TS branches on CONFIG_BT_DUAL_MODE_ARCH: the
  dual-mode-arch controllers (ESP32-H4, ESP32-S31) expose their link
  layer timer as r_sched_timer_getCurrentTimeU32, but the symbol is
  obfuscated in the current prebuilt libraries, so those targets report
  lc_ts = 0 for now; call the accessor once the libraries export it.
  The Gen 2 branch keeps r_ble_lll_timer_current_tick_get (defined by
  every C5/C6/C61/H2/H21 library, verified by nm and by linking
  ble_log_test for ESP32-C6); ESP32-H4 and ESP32-S31 fall out of it.
- ble_log_ts_info_update's old shape is gone entirely: the heap-allocated
  global ts_info and its critical section memcpy were leftovers from the
  pointer-return API; the sampler writes the caller object in place and
  keeps only the toggle IO phase as cross-call state. int_src_code is
  filled outside the critical section; the phase toggle stays inside to
  exclude the write in ble_log_sync_enable.

Idle systems no longer touch the controller clock: the legacy
accessors dereference controller state and INIT precedes controller
initialization, so the sampler returns lc_ts = 0 while the controller
is idle instead of reading it. The deferred dispatch callback drains
only the queue depth observed at entry and re-arms itself for arrivals
left behind, so it cannot monopolize the shared ESP timer task.
2026-09-10 15:39:56 +08:00