On Mon, Dec 30, 2019 at 04:13:21PM +0000, Bryan O'Donoghue wrote: > A recent bugfix 8c7d4b7b3d43 ("usb: dwc3: gadget: Fix logical condition") > correctly fixes a logical error in the gadget driver but, exposes a further > bug in determining when a transfer has completed. > > Prior to 8c7d4b7b3d43 we were calling dwc3_gadget_giveback() when we > shouldn't have been. Afer this change the below test fails to complete on > my hardware. > > Host: > echo "host" > /dev/ttyACM0 > > Device: > cat < /dev/ttyGS0 > > This is caused by the driver incorrectly detecting end of transfer, a > problem that had previous been masked by the continuous calling of > dwc3_gadget_giveback() prior to 8c7d4b7b3d43. > > Remediate by making the test <= instead of == > > Fixes: e0c42ce590fe ("usb: dwc3: gadget: simplify IOC handling") > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > --- > drivers/usb/dwc3/gadget.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) I think this patch: https://lore.kernel.org/linux-usb/ac5a3593a94fdaa3d92e6352356b5f7a01ccdc7c.1576291140.git.thinhn@xxxxxxxxxxxx/ should fix this issue instead, right? If not, do I need to include both of these? thanks, greg k-h