]> git.kernelconcepts.de Git - karo-tx-uboot.git/commit
usb: dwc2: fix bulk transfers
authorStephen Warren <swarren@wwwdotorg.org>
Tue, 24 Mar 2015 05:01:01 +0000 (23:01 -0600)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 8 Sep 2015 19:47:07 +0000 (21:47 +0200)
commit0efef6a637431a77892e1809c6d6c711f06fb0d3
tree69da79601d70341e790030a204d4f4ecfa336fed
parent6afc3b4aad8e3c07cefbf317c64ee7c5db3150a5
usb: dwc2: fix bulk transfers

When I created wait_for_chhltd(), I noticed that some instances of the
code it replaced expected the ACK bit to be set and others didn't. I
assumed this was an accidental inconsistency in the code, so wrote
wait_for_chhltd() to always expect ACK to be set. This code appeared to
work correctly for both enumeration of USB keyboards and operation of
USB Ethernet devices. However, this change broke USB Mass Storage (at
least my USB SD card reader). This change reverts to exactly the
original behaviour. I'm not sure why the ACK bit isn't always set
(perhaps a quirk in the USB HW or DWC2 controller), but the code works
this way!

Fixes: 5be4ca7d6ac8 ("usb: dwc2: unify waiting for transfer completion")
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
drivers/usb/host/dwc2.c