- Add bt_osal: event queues, mutexes, semaphores, callouts, etc.
- Add the shared BLE profile task and event queue
- Bring both up and tear them down in the host init/deinit paths
- Add unit tests for the OSAL and the profile task
regi2c (the analog i2c master) is not implemented on FPGA: the
REGI2C_RTC_BUSY poll in the regi2c helpers never completes, so the
2nd-stage bootloader hangs until the WDT resets the chip (observed on
the ESP32-S31 FPGA, bitstream v5.0.0-most-ip).
Stub out the regi2c_impl_* macros in hal/regi2c_impl.h when
HAL_CONFIG(ENV_FPGA) is set, so every regi2c call site is skipped on
FPGA for all current and future targets.
- don't do swapping if result is thrown away
- use correct return code if csd_ver is unknown
- use correct release function
When `heap_caps_malloc`/`heap_caps_calloc` are used for allocation,
`heap_caps_free` should be used to release allocated block.
Rename uhci_ll_rx_set_eof_mode → uhci_ll_rx_enable_eof_modes and its
parameter eof_mode → eof_modes to reflect that multiple EOF modes can
be enabled simultaneously via bitmask. Add bool en parameter so callers
can enable or disable without an outer if-check.
The LCD delay registers configure a delay mode (0=no delay, 1=delay on
rising edge, 2=delay on falling edge), not a tick count. Rename the LL
layer functions and parameters to reflect this, and add
lcd_ll_set_data_delay_mode for esp32s31 and esp32p4.
fix(esp_tee): Validate the stack pointer at the privilege switch boundary
Closes IDF-15974, IDF-15977, and IDF-15994
See merge request espressif/esp-idf!50647
libstdc++ selects between a lock-free and a mutex-based policy for
std::shared_ptr reference counting based on this macro. Enabling this
option forces the lock-free policy, which avoids pulling in the
mutex-based implementation and can reduce code size.
Note: the lock-free policy avoids embedding a mutex in each control
block, saving about 88 bytes per shared_ptr, and improves performance
by using atomic operations instead of mutex locking.
Note: this option changes the ABI of libstdc++ atomic/shared_ptr
helpers. It can be incompatible when linking against prebuilt
libraries that were compiled without it, leading to link errors or
undefined runtime behavior. Only enable it if all C++ objects and
libraries in the build use the same setting.
The `esp_https_ota.h` header includes `bootloader_common.h` from the
`bootloader_support` component, but the components CMakeLists.txt does not
depend on the `bootloader_support` component.
This causes compilation to fail when the header is included, unless the
component that the header belongs already depends on `bootloader_support`.
As the header is only needed in the `esp_https_ota.c` source file,
add a `PRIV_REQUIRES` for `bootloader_support` and move the include into the
.c file.
related: obex, smp, pbap, sdp, rfcomm, stack_dm
- Deinit function doesn't delete connection when OBEX_DYNAMIC_MEMORY is on
- Union tGOEPC_DATA sometimes is free by osi_free in some cases when it contains mtu_id
- Add correct free and return solution after fail
- Fix symbol mistake in mod calculation
- Fix pointer-related UAF problems and memory free problems
- Fix buffer overflows and out-of-bounds access
- Fix infinite loops triggered by integer overflow wraparound
- Fix double free
- Change layer_specific usage to avoid heap overflow
- Add some NULL check for pointers
- Fix sdp_db free function
- Fix state table mismatch