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 drivers: kconfig: fix typo 2025-07-01 10:58:54 -10:00
bbram drivers: bbram: stm32: reference counter for Backup Registers accesses 2025-06-26 12:43:17 +02:00
bluetooth drivers/bluetooth/userchan: Remove NATIVE_APPLICATION support 2025-07-19 09:38:15 +02:00
cache drivers: cache: nrf: Resolve NRF_CACHE_HAS_LINEADDR issue 2025-06-12 09:33:48 -07:00
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 drivers: comparator: add it51xxx_evb analog comparator driver 2025-06-24 15:33:17 -05:00
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 drivers: crypto: crypto_ataes132a fix memset undefined behavior 2025-07-10 10:13:17 -05:00
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 drivers: debug: silabs_pti: Add driver for Packet Trace Interface 2025-06-13 11:12:20 +02:00
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 dma_mcux_edma: Remove header file 2025-07-11 09:41:14 -05:00
dp
edac edac: shell: Make more generic 2025-06-18 09:09:40 -04:00
eeprom drivers/eeprom/eeprom_simulator: Remove NATIVE_APPLICATION support 2025-07-19 09:38:15 +02:00
entropy drivers fake_entropy_native_sim: Remove NATIVE_APPLICATION support 2025-07-19 09:38:15 +02:00
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 soc: nordic: move nrf_ironside from drivers/firmware to soc/nordic 2025-07-02 17:57:45 -05:00
flash drivers: flash: flash_rpi_pico: fix indentation and remove unused variables 2025-07-27 20:11:20 -04:00
fpga
fuel_gauge drivers: kconfig: fix typo 2025-07-01 10:58:54 -10:00
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 drivers: haptics: drv2605: drop redundant include 2025-06-16 14:04:22 -04:00
hdlc_rcp_if drivers: hdlc_rcp_if: Add HDLC SPI adapter driver 2025-06-18 17:50:31 -04:00
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 drivers: lora: rylrxxx: fix snprintf usage 2025-07-04 16:40:46 -10:00
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 license: fix copyright owner 2025-06-26 10:56:48 -05:00
mipi_dbi drivers: mipi_dbi: stm32: fmc: add bank address property 2025-07-28 16:41:30 -04:00
mipi_dsi drivers: mipi_dsi: dsi_mcux_2l: support non-contiguous frame buffer 2025-06-27 08:49:44 -10:00
misc drivers: misc: mcux_flexio: Set the DOZEN bit 2025-07-09 00:24:14 -05:00
mm
modem modem: cmux: Decouple modem cmux and cellular driver 2025-07-23 17:31:22 +01:00
mspi drivers: kconfig: fix typo 2025-07-01 10:58:54 -10:00
net drivers/net offloaded_sockets: Remove redundant kconfig dependency 2025-07-19 09:38:15 +02:00
pcie drivers: pcie: shell: add missing const qualifiers 2025-06-17 07:24:52 +02:00
peci
pinctrl drivers/pinctrl: ite: Don't clear FUNC3 setting unless alt_func is FUNC3 2025-06-30 15:19:49 -05:00
pm_cpu_ops
power_domain drivers: power_domain: Power domain TISCI driver support 2025-06-26 10:57:45 -05:00
ps2
psi5 drivers: introduce support Peripheral Sensor Interface (PSI5) driver 2025-07-01 10:53:59 -10:00
ptp_clock drivers: ptp_clock: Add NXP NETC PTP Clock Driver 2025-06-06 14:47:53 +01:00
pwm drivers: nrf: add build asserts for memory-regions property 2025-07-28 04:27:25 -04:00
regulator drivers: npm13xx: add support for nPM1304 2025-06-23 16:19:43 +01:00
reset drivers: reset: Add MPFS MSS driver 2025-06-27 09:59:08 -05:00
retained_mem
rtc drivers: irtc: Updated rtc driver to support NXP RT700 device. 2025-07-28 16:42:30 -04:00
sdhc drivers: kconfig: fix typo 2025-07-01 10:58:54 -10:00
sensor rtio: add helper function rtio_read_transaction() 2025-07-28 16:44:17 -04:00
sent drivers: introduce Single Edge Nibble Transmission (SENT) driver 2025-06-26 18:50:07 -10:00
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 drivers: usb_c: fusb307: Check return value gpio_add_callback() 2025-06-13 14:29:23 +02:00
video video: common: fix formatting for heap define to fit CI line length 2025-07-11 15:54:09 -05:00
virtio drivers: virtio: move virtio headers to zephyr/drivers 2025-07-04 15:49:54 -05:00
virtualization
w1 drivers: w1: shell: fix off-by-one error 2025-06-17 17:46:17 +02:00
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 drivers: introduce support Peripheral Sensor Interface (PSI5) driver 2025-07-01 10:53:59 -10:00
Kconfig drivers: introduce support Peripheral Sensor Interface (PSI5) driver 2025-07-01 10:53:59 -10:00