Jiang Jiang Jian
200e80503f
Merge branch 'bugfix/oob_read_in_continue_packet_v5.4' into 'release/v5.4'
...
fix(bt/bluedroid): fix ACL reassembly dropping valid continuation fragments (v5.4)
See merge request espressif/esp-idf!47380
2026-04-09 14:37:04 +08:00
Jin Cheng
04ddb36756
fix(bt/bluedroid): moved L2CAP length check into start packets only
2026-04-08 20:41:42 +08:00
Jon Gilmore
02b5d4bb13
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-08 20:41:42 +08:00
Jiang Jiang Jian
9c4bbcdace
Merge branch 'bugfix/fixed_disconnect_issues_v5.4' into 'release/v5.4'
...
Bugfix/fixed disconnect issues v5.4
See merge request espressif/esp-idf!47186
2026-04-01 16:18:12 +08:00
zhaoweiliang
b10d5d31f3
fix(ble): Fixed an occasional disconnection issue on ESP32-C6 and ESP32-H2
2026-03-31 19:36:24 +08:00
Jiang Jiang Jian
e20cf83b09
Merge branch 'docs/update_c2_feature_status_v5.4' into 'release/v5.4'
...
fix(docs): Updated BLE features support status (5.4)
See merge request espressif/esp-idf!46858
2026-03-30 12:16:41 +08:00
Wei Yuhan
48389747a8
docs(ble): Added BLE Multi Connection Guide
2026-03-27 16:50:41 +08:00
Wei Yuhan
e5b6b980e1
docs(ble): Removed esp32c5 and esp32c61 labels in the ble doc
2026-03-27 16:45:45 +08:00
Wei Yuhan
ea98ec65c4
fix(docs): Updated GATT Caching support status
2026-03-27 16:17:06 +08:00
Jiang Jiang Jian
e153ab93fa
Merge branch 'bugfix/idfci-8990_v5.4' into 'release/v5.4'
...
fix(bt): Fix crash due to functions not placed in IRAM(v5.4)
See merge request espressif/esp-idf!46942
2026-03-27 10:14:54 +08:00
xiongweichao
0ece0e924c
fix(bt): Fix crash due to functions not placed in IRAM
2026-03-26 21:06:55 +08:00
Jiang Jiang Jian
4d1dfc7c6e
Merge branch 'bugfix/wifi_cmd_version_in_iperf' into 'release/v5.4'
...
update wifi-cmd version in wifi iperf
See merge request espressif/esp-idf!47007
2026-03-26 17:59:21 +08:00
Jiang Jiang Jian
befa3a2c2f
Merge branch 'bugfix/sae_pwe_method_log_v5.4' into 'release/v5.4'
...
fix(esp_wifi): Add a log to print sae_pwe method used by station for wpa3 connection
See merge request espressif/esp-idf!46696
2026-03-26 10:51:26 +08:00
ding huan
3abe72dadc
fix(example): update wifi-cmd version in iperf
2026-03-25 19:57:33 +08:00
Jiang Jiang Jian
512ebf2cc0
Merge branch 'ci/update_github_permission_v5.4' into 'release/v5.4'
...
ci(github): update workflow permission (v5.4)
See merge request espressif/esp-idf!46930
2026-03-25 17:16:21 +08:00
Xiao Xufeng
ff014ae78c
ci(github): update workflow permission
2026-03-24 11:32:37 +08:00
Wei Yu Han
cbd7302d1a
fix(docs): Updated BLE features support status
...
(cherry picked from commit ad43685220 )
Co-authored-by: Wei Yuhan <weiyuhan@espressif.com >
2026-03-22 12:41:41 +08:00
Jiang Jiang Jian
a7d6fb261d
Merge branch 'fix/fix_phy_update_failure_on_c2_5.4' into 'release/v5.4'
...
fix(ble): fix conn timeout after phy update on ESP32-C2
See merge request espressif/esp-idf!46752
2026-03-21 14:24:34 +08:00
cjin
bc60ae40dd
fix(ble): fix conn timeout after phy update on ESP32-C2
2026-03-19 09:51:51 +08:00
Shreyas Sheth
6f14b721b3
fix(esp_wifi): Add a log to print sae_pwe method used by station for wpa3 connection
...
- Fix crash due to debug log for rssi while scanning
2026-03-17 12:01:04 +05:30
Jiang Jiang Jian
fe2cc0a64c
Merge branch 'fix/usj_fifo_bug_v5.4' into 'release/v5.4'
...
fix(usj):Fix usj fifo write/read on p4 (backport v5.4)
See merge request espressif/esp-idf!46638
2026-03-17 11:48:04 +08:00
Jiang Jiang Jian
5dc27530cc
Merge branch 'feat/bt_distance_test_v5.4' into 'release/v5.4'
...
feat(bt): Add APIs to read ACL real RSSI and read/write tx power of inq/iscan/page/pscan/ACL (v5.4)
See merge request espressif/esp-idf!46646
2026-03-17 11:14:50 +08:00
Jiang Jiang Jian
25a017a9d7
Merge branch 'feature/update_gdbstub_v5.4' into 'release/v5.4'
...
gdbstub: backport fixes (v5.4)
See merge request espressif/esp-idf!46581
2026-03-17 10:56:55 +08:00
Jiang Jiang Jian
b16c368b3c
Merge branch 'bugfix/fix_call_spp_start_discovert_twice_crash_v5.4' into 'release/v5.4'
...
fix(bt): fix crash when calling esp_spp_start_discovery twice in succession(v5.4)
See merge request espressif/esp-idf!46666
2026-03-17 10:13:27 +08:00
morris
6e907ccdbc
Merge branch 'bugfix/fix_legacy_touch_driver_stuck_after_dsleep_v5.4' into 'release/v5.4'
...
fix(legacy_touch): fixed the read stuck issue after deep sleep (v5.4)
See merge request espressif/esp-idf!46011
2026-03-17 10:11:22 +08:00
Jiang Jiang Jian
d6e5d76f66
Merge branch 'contrib/github_pr_18310_v5.4' into 'release/v5.4'
...
fix(esp_http_server): Dispatch PONG frames to WebSocket handler (GitHub PR) (v5.4)
See merge request espressif/esp-idf!46657
2026-03-17 09:23:52 +08:00
Jiang Jiang Jian
658e24e40f
Merge branch 'feat/support_wifi_infinite_retry_v5.4' into 'release/v5.4'
...
feat(protocol_examples_common): support infinite retries for example_handler_on_wifi_disconnect (v5.4)
See merge request espressif/esp-idf!46671
2026-03-17 09:22:12 +08:00
Jiang Jiang Jian
bdc4dc5e9e
Merge branch 'feat/expand_periph_skip_ls_no_to_v5.4' into 'release/v5.4'
...
fix(pm): expand the number of skip light sleep number
See merge request espressif/esp-idf!46625
2026-03-17 09:17:24 +08:00
Alexey Gerenkov
6ea0fe1c15
Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20260304_v5.4' into 'release/v5.4'
...
feat(tools): update openocd version to v0.12.0-esp32-20260304 (v5.4)
See merge request espressif/esp-idf!46365
2026-03-16 20:26:43 +08:00
Tan Yan Quan
969969ec36
feat(protocol_examples_common): support infinite retries for example_handler_on_wifi_disconnect
2026-03-16 19:49:30 +08:00
xiongweichao
76652f73bd
fix(bt): fix crash when calling esp_spp_start_discovery twice in succession
2026-03-16 19:40:29 +08:00
Jiang Jiang Jian
9e7abc9f01
Merge branch 'feat/p4_eco5_ccm_v5.4' into 'release/v5.4'
...
ISP: support ccm on P4 eco5 (v5.4)
See merge request espressif/esp-idf!44813
2026-03-16 19:23:57 +08:00
Jiang Jiang Jian
48b82d0690
Merge branch 'contrib/github_pr_16130_v5.4' into 'release/v5.4'
...
esp_adc: Release the peripheral after calibration (GitHub PR) (v5.4)
See merge request espressif/esp-idf!40002
2026-03-16 19:22:01 +08:00
Jiang Jiang Jian
165aff222d
Merge branch 'fix/esp32_adc_continuous_loss_sample_v5.4' into 'release/v5.4'
...
Fix/esp32 adc continuous loss sample (v5.4)
See merge request espressif/esp-idf!42830
2026-03-16 19:19:42 +08:00
Jiang Jiang Jian
00b61e28f2
Merge branch 'fix/adc_c6_get_high_result_v5.4' into 'release/v5.4'
...
fix(adc): fix ESP32C6 ADC get high result after enable (v5.4)
See merge request espressif/esp-idf!43229
2026-03-16 19:18:38 +08:00
Jiang Jiang Jian
500963afc5
Merge branch 'bugfix/fix_some_wifi_bugs_260313_v5.4' into 'release/v5.4'
...
fix(wifi): fix some wifi bugs 260313 v5.4(Backport v5.4)
See merge request espressif/esp-idf!46615
2026-03-16 19:18:09 +08:00
Ashish Sharma
e08f079ce3
feat(http_server): adds example to test server pong response
2026-03-16 16:56:13 +08:00
Peter Backeris
3d0e26170d
fix(esp_http_server): Dispatch PONG frames to WebSocket handler
...
PONG frames (opcode 0xA) were never dispatched to the user's WebSocket
handler despite an existing comment stating they should be. The dispatch
condition `ra->ws_type < HTTPD_WS_TYPE_CLOSE` excluded PONG (0xA)
since CLOSE is 0x8.
This caused a critical secondary bug: when the server sends PING frames
and the client responds with PONG, httpd_ws_recv_frame() is never
called for the PONG, leaving the remaining frame bytes (second_byte
plus 4-byte mask_key) unconsumed in the TCP buffer. On the next
WebSocket read, these orphaned bytes are misinterpreted as a new frame
header, causing either "WS frame is not properly masked" errors or
EAGAIN timeouts with garbage length values, effectively destroying
the connection.
Add `ra->ws_type == HTTPD_WS_TYPE_PONG` to the dispatch condition so
PONG frames reach the user handler, which calls httpd_ws_recv_frame()
to properly consume the frame bytes from the socket.
Closes https://github.com/espressif/esp-idf/issues/18227
2026-03-16 16:56:13 +08:00
Alexey Lapshin
2eebcf27c6
fix(esp_gdbstub): adapt xtensa headers
2026-03-16 15:17:34 +07:00
yangfeng
23a7b191ca
feat(bt): Add APIs to control transmit power level
...
- API to read ACL real RSSI
- APIs to read/write tx power of inq/iscan/page/pscan/ACL
2026-03-16 15:45:51 +08:00
laokaiyao
732ee2ddc8
fix(legacy_touch): fixed the read stuck issue after deep sleep
2026-03-16 15:26:47 +08:00
C.S.M
4bb47f5145
fix(usj):Fix usj fifo write/read on p4
2026-03-16 15:22:15 +08:00
Jiang Jiang Jian
4193d214e3
Merge branch 'bugfix/report_hid_close_evt_v5.4' into 'release/v5.4'
...
fix(hid): Fixed HID repeatedly reporting the close event (v5.4)
See merge request espressif/esp-idf!46612
2026-03-16 14:45:20 +08:00
Jiang Jiang Jian
c6ba36d69f
Merge branch 'bugfix/pm-673_v5.4' into 'release/v5.4'
...
backport v5.4: fix analog i2c master race cause by phy retention link
See merge request espressif/esp-idf!46437
2026-03-16 11:51:58 +08:00
Jiang Jiang Jian
0300db2e32
Merge branch 'fix/adc_continuous_iram_config_v5.4' into 'release/v5.4'
...
fix(adc): fix ESP32/S2 panic when use continuous ADC (v5.4)
See merge request espressif/esp-idf!43640
2026-03-16 11:02:50 +08:00
cjin
1c000d02bc
fix(pm): expand the number of skip light sleep number
2026-03-16 08:56:55 +08:00
yangfeng
01fb000eb6
fix(hid): Fixed HID repeatedly reporting the close event
2026-03-15 13:13:12 +08:00
wuzhenghui
378255d28c
fix(soc): link rtc_io_num_map to DRAM
2026-03-15 13:12:55 +08:00
yinqingzhao
69cf6b7c4d
fix(pm): fix crash issue of esp32 caused by accessing flash in sleep wake process
2026-03-15 13:12:55 +08:00
muhaidong
f12e8de207
fix(wifi): fix some wifi bugs 260213
...
1. fix some wifi bugs related to csi, twt and bss max idle
2. fix cannot sleep after change ps mode
3. fix memory corruption by avoiding unncessary encryption of Mgmt frames
4. fix regdma contention issue
2026-03-15 13:12:55 +08:00