zephyr/drivers
Tomasz Moń 8d1f7b3bef drivers: udc_dwc2: Fix incomplete iso handling race
Incomplete iso IN/OUT is just informative and its occurrence does not
prevent the endpoint from actually transmitting/receiving data. Such
"late" isochronous transfers, which are perfectly fine according to USB
specification, were observed on Windows host with nRF54H20 running
explicit feedback sample operating at High-Speed.

The incorrect handling manifested itself with "ISO RX buffer too small"
error message. The faulty scenario was:
  * incompISOIN handler does not find any matching endpoint
  * incompISOOUT handler disables endpoint, discards buffer and sets
    rearm flag
  * next DWC2 interrupt handler iteration after reading GINTSTS
  * XferCompl interrupt on iso IN endpoint
  * XferCompl interrupt on iso OUT endpoint
      - transfer was actually happening to the buffer discarded in
	incompISOOUT handler
      - XferCompl handler modified the next buffer
  * GOUTNakEff interrupt, iso OUT endpoint EPDIS bit is set
  * EPDisbld interrupt, rearm flag set
      - the buffer modified by XferCompl is used and fails because it is
	not large enough

Modify the sequence so it accounts for host actions and the above faulty
scenario no longer causes any problems.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-07-29 08:52:20 -04:00
..
adc drivers: nrf: add build asserts for memory-regions property 2025-07-28 04:27:25 -04:00
audio drivers: nrf: add build asserts for memory-regions property 2025-07-28 04:27:25 -04:00
auxdisplay
bbram
bluetooth
cache
can drivers: can: nrf: fix invalid pointer leading to undef behavior 2025-07-19 13:28:38 -04:00
charger
clock_control drivers: clock: stm32c0: Add an option to enable CRS for HSI48 2025-07-23 17:27:24 +01:00
comparator
console drivers: console: posix_arch_console: remove build warning 2025-07-29 08:51:32 -04:00
coredump
counter drivers: counter: esp32: Fix alarm stops working 2025-07-25 23:29:40 +02:00
crypto
dac drivers: dac: Added dac driver for samd5x 2025-07-19 09:54:41 +02:00
dai drivers: dai: dmic: fix 2 compiler warnings 2025-07-19 13:42:30 -04:00
debug
disk disk: sdmmc: support L4 series with shared DMA channel 2025-07-28 16:44:33 -04:00
display drivers: display: dcnano_elcdif: Fix RGB565/BGR565 format mismatch 2025-07-28 16:45:33 -04:00
dma
dp
edac
eeprom
entropy
espi espi/it8xxx2: waiting till completion of VW send to host 2025-07-19 09:55:46 +02:00
ethernet drivers: ethernet: netc_psi: add MMIPO mapping support 2025-07-29 11:20:48 +01:00
firmware
flash drivers: flash: flash_rpi_pico: fix indentation and remove unused variables 2025-07-27 20:11:20 -04:00
fpga
fuel_gauge
gnss gnss: u-blox f9p: Add RTK integration to driver 2025-07-21 09:19:14 -04:00
gpio drivers: gpio: smartbond: Fix PDC GPIO port selection 2025-07-25 08:17:51 -04:00
haptics
hdlc_rcp_if
hwinfo drivers: hwinfo: split kconfig into separate files 2025-07-28 04:23:21 -04:00
hwspinlock
i2c drivers: nrf: add build asserts for memory-regions property 2025-07-28 04:27:25 -04:00
i2s drivers: nrf: add build asserts for memory-regions property 2025-07-28 04:27:25 -04:00
i3c drivers: i3c: shell: Add shell support to MAX32 I3C 2025-07-28 21:06:00 -04:00
ieee802154 drivers: ieee802154: nrf5: prevent negative timestamps 2025-07-19 13:39:58 -04:00
input drivers: input: initial support for renesas,ra-ctsu 2025-07-29 11:19:20 +01:00
interrupt_controller drivers: intc_gicv3_its: fix sleep issue in pre-kernel 2025-07-29 11:18:50 +01:00
ipm soc: nxp: Flatten MCX SOCs 2025-07-19 13:25:29 -04:00
led drivers: led: Implemented PCA9533 driver with PM support 2025-07-28 16:43:48 -04:00
led_strip led_strip: ws2812_spi: place buffer in __nocache for DMA 2025-07-28 08:45:04 -04:00
lora
mbox soc: nxp: Flatten MCX SOCs 2025-07-19 13:25:29 -04:00
mdio drivers: mdio: imx_netc: add mmio mapping support 2025-07-29 11:20:48 +01:00
memc drivers: mipi_dbi: stm32: get fmc frequency correctly 2025-07-23 09:34:08 +02:00
mfd
mipi_dbi drivers: mipi_dbi: stm32: fmc: add bank address property 2025-07-28 16:41:30 -04:00
mipi_dsi
misc
mm
modem modem: cmux: Decouple modem cmux and cellular driver 2025-07-23 17:31:22 +01:00
mspi
net
pcie
peci
pinctrl
pm_cpu_ops
power_domain
ps2
psi5
ptp_clock
pwm drivers: nrf: add build asserts for memory-regions property 2025-07-28 04:27:25 -04:00
regulator
reset
retained_mem
rtc drivers: irtc: Updated rtc driver to support NXP RT700 device. 2025-07-28 16:42:30 -04:00
sdhc
sensor rtio: add helper function rtio_read_transaction() 2025-07-28 16:44:17 -04:00
sent
serial drivers: nrf: add build asserts for memory-regions property 2025-07-28 04:27:25 -04:00
sip_svc
smbus
spi drivers: nrf: add build asserts for memory-regions property 2025-07-28 04:27:25 -04:00
stepper drivers: stepper: rename gpio_steppper_controller to h_bridge_stepper 2025-07-19 09:57:40 +02:00
syscon drivers: Add header file with common functions for BFLB 2025-07-19 15:30:45 -04:00
tee
timer drivers: timer : cortex_m_systick MAX_TICKS protection 2025-07-22 08:19:55 -04:00
usb drivers: udc_dwc2: Fix incomplete iso handling race 2025-07-29 08:52:20 -04:00
usb_c
video
virtio
virtualization
w1
watchdog drivers: wdt: npcx: add wdt driver support for npck3 2025-07-19 15:36:47 -04:00
wifi drivers: wifi: nxp: IW610 aligns with RW612's config 2025-07-28 08:45:21 -04:00
xen
CMakeLists.txt
Kconfig