| Age | Commit message (Collapse) | Author |
|
Resolves all TinyUSB-owned alerts reported by the CI PVS-Studio job
(static_analysis.yml, run with --security-related-issues) on the
raspberry_pi_pico board: 0 remaining in src/ and examples/.
Genuine fixes:
- ncm_device: validate wNdpIndex against sizeof(nth16_t), not the pointer
size sizeof(nth16) (4 bytes) — the latter under-checks the NTB header
(V568).
- tusb: drop the redundant `ff_buf != NULL && ff_bufsize > 0` guard in
tu_edpt_stream_init(); the early return already guarantees it (V560).
- midi_host: bounds-check idx in tuh_midi_itf_get_info() instead of the
always-true `&_midi_host[idx]` pointer (V560).
- examples: fully initialize resolutions_per_format / frame_num /
interval_ms arrays instead of leaving trailing elements implicitly zero
(V1009).
False positives suppressed at the cause:
- usbd/usbh: hide the weak dcd_deinit()/hcd_deinit() stubs from the
analyzer with #ifndef PVS_STUDIO. PVS analyzes one TU at a time and
binds the call to the always-false weak stub (it cannot model the
linker selecting the port's strong definition), then reports the
cleanup loop after TU_ASSERT(...deinit()) as unreachable (V779).
False positives suppressed locally (inline //-V or .pvsconfig):
- .pvsconfig: V501 (HID descriptor macros), V763 (rhport override),
V785 (audio function-index switch), V1044 (hardware poll loops).
- inline //-V for config-dependent or intentional constructs: V512,
V514-style contiguous clears, V547, V557, V560, V614, V619, V641,
V1008, V1037, V1048, V1086.
Verified: all examples build for raspberry_pi_pico; ceedling test:all
passes (60/60); re-run of the CI-exact PVS invocation reports zero
TinyUSB-owned findings.
|
|
- src/tusb.c: extend tu_str_xfer_result[] with "ABORTED" and "INVALID"
to match the new enum size. Not reachable today (no HCD posts those
values through hcd_event_xfer_complete), but keeps the enum/table
invariant intact so future HCDs that surface ABORTED don't index OOB.
- examples/dual/dynamic_switch/src/main.c: apply the same while(1)
hoist already done for cdc_task / print_devinfo_task to
led_blinking_task. On OS_NONE the loop returned mid-iteration, which
on first call could fire multiple back-to-back toggles while
start_ms (initially 0) caught up to uptime.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
|
|
endpoint state handling methods and accesses
|
|
|
|
|
|
|
|
|
|
implement tusb_time_millis_api() with osal_time_millis() when OS is not NONE
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
update vendor_device.c for direct usbd xfer when either RX/TX BUFSIZE is 0 i.e CFG_TUD_VENDOR_TXRX_BUFFERED = 0
|
|
limit fifo read size to ep_bufsize regardless ep_buf is used or not
|
|
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
|
|
|
|
of bool. help to simplify parsing configuration
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Zixun LI <[email protected]>
|
|
CFG_TUSB_EDPT_STREAM_NO_FIFO_ENABLED
|
|
vendor_write_flush() and write_available() only available when CFG_TUD_VENDOR_TX_BUFSIZE > 0
|
|
CFG_TUD_VENDOR_RX_BUFSIZE = 0
update vendor device to omit ep buf when dedicated hwfifo is supported
|
|
|
|
|
|
cdc device omit ep buffer when hwfifo is supported
|
|
copilot/fix-dcd-edpt-xfer-issue
Signed-off-by: HiFiPhile <[email protected]>
|
|
|
|
tu_edpt_stream_open() does not clear fifo, allow for persistent stream when disconnect/reconnect
|
|
also add tud_midi_n_packet_write/read_n()
|
|
copilot/fix-dcd-edpt-xfer-issue
Signed-off-by: HiFiPhile <[email protected]>
|
|
|
|
fix more alerts
disable IAR CStat since pvs-studio check is better integrated with clion
|
|
copilot/fix-dcd-edpt-xfer-issue
Signed-off-by: HiFiPhile <[email protected]>
|
|
|
|
- Added bool is_isr parameter to usbd_edpt_xfer() and usbd_edpt_xfer_fifo() wrapper functions
- These are called by class drivers to queue USB transfers
- Updated all callers to pass false by default (non-ISR context)
- Updated audiod_rx_xfer_isr() and audiod_tx_xfer_isr() to pass true (ISR context)
- All 21 unit tests pass
Co-authored-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
|
|
|
|
512 bytes for bulk in fullspeed mode.
|
|
|
|
|