[PATCH v2 0/2] usb: gadget: dummy_hcd: fixes found while testing virtio-usb

Igor Skalkin posted 2 patches 1 month, 2 weeks ago
drivers/usb/gadget/udc/dummy_hcd.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
[PATCH v2 0/2] usb: gadget: dummy_hcd: fixes found while testing virtio-usb
Posted by Igor Skalkin 1 month, 2 weeks ago
This is v2 of the dummy_hcd fixes found while testing our upcoming
virtio-usb transport driver (patches for that will follow separately).

Changes since v1:

 - Patch 1 (ep0 maxpacket) is unchanged; carrying forward Alan
   Stern's Acked-by.

 - Patch 2 (false overflow on bounded IN) is dropped.  Alan Stern
   pointed out the fix was wrong: an IN short packet where the
   device has more data queued than the host's buffer can hold is a
   genuine overflow, not a normal bounded completion.  Agreed, and
   there's no replacement fix queued for this report.

 - Patch 3 (SG transfer handling across chunks) is dropped from this
   version.  Alan Stern confirmed the underlying issue and suggested
   a simpler fix (resync the sg_miter with sg_miter_skip() after each
   consumed chunk instead of restarting and re-walking from
   urb->actual_length on every call).  The original failure was
   reliably reproducible against an earlier, debug-instrumented
   version of our (not yet posted) virtio-usb transport driver, but
   is not currently reproducing against the current version of that
   driver, which makes it hard to verify a replacement fix with any
   confidence.  I'd rather confirm a fix against a real reproduction
   before resending than resend an unverified change, so this patch
   is held back for now and will follow separately once reproduced
   again.

 - Patch 4 (no_sg_constraint) is reworked per Alan Stern's review:
   instead of unconditionally relaxing the SG alignment constraint,
   it is now only relaxed on the SuperSpeed bus, preserving the
   EHCI-style alignment emulation on the HighSpeed bus.

Igor Skalkin (2):
  usb: gadget: dummy_hcd: fix SuperSpeed ep0 maxpacket
  usb: gadget: dummy_hcd: set no_sg_constraint only on the SuperSpeed
    bus

 drivers/usb/gadget/udc/dummy_hcd.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

-- 
2.49.0