| Age | Commit message (Collapse) | Author |
|
* license: use SPDX identifiers for src/ headers
Replace the full ~20-line MIT license boilerplate on every src/ file with a
two-line SPDX tag (SPDX-FileCopyrightText + SPDX-License-Identifier), following
the REUSE convention used by CircuitPython and the Linux kernel. Removes ~3500
lines of duplicated boilerplate.
|
|
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
tuh_rhport_init() calls osal_spin_init(&_usbh_spin), which under OPT_OS_PICO
claims a hardware spinlock via critical_section_init(). There was no
osal_spin_deinit(), so tuh_deinit() never released it: every host init/deinit
cycle leaked one spinlock. RP2350 has a small spinlock pool, so a few usb_host
rebuilds exhaust it and hw_claim_unused_from_range() panics (the long-standing
"crashes on the 4th rebuild" bug).
Add osal_spin_deinit() to all OSAL backends (critical_section_deinit for pico;
no-op for none/freertos) and call it in tuh_deinit(). Verified 20/20
deinit+rebuild cycles on RP2350-Zero and Waveshare RP2350-USB-A (previously
panicked on the 4th).
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
|
|
|
|
implement tusb_time_millis_api() with osal_time_millis() when OS is not NONE
|
|
|
|
|
|
add spinlock implementation for most rtos
|
|
|
|
|
|
add osal_semaphore_delete(), osal_mutex_delete(), osal_queue_delete()
|
|
temporarily disable codespell
|
|
|
|
pending for event queue with timeout of 1 ms
|
|
|
|
|
|
add TODO for overflow in tusb_fifo.c
|
|
|
|
|
|
tu_fifo_clear() also reset max_pointer_idx and non_used_index_space
|
|
|
|
|