CVSROOT: /cvs Module name: src Changes by: mgloc...@cvs.openbsd.org 2021/07/27 07:36:59
Modified files: sys/dev/usb/dwc2: dwc2_core.c dwc2_core.h dwc2_hcd.c dwc2_hcd.h dwc2_hcdddma.c dwc2_hcdintr.c dwc2_hcdqueue.c list.h Log message: Implemented from the Linux driver: * Introduce split transaction order queues. * Improve the NAK interrupt handler routine. * Mostly move from list_move() to list_move_tail(). Those changes fix an attachment problem seen for certain devices which are issuing NAK interrupts during split transactions, which don't get handled correctly by the driver today. This could result in unexpected channel halting, printing "ChHltd set, but reason is unknown", which finally leaves the device back on a disabled USB port. ok kettenis@