usb: dwc2: problems with IN requests completion in linux-next

From: Robert Baldyga
Date: Mon Dec 22 2014 - 09:13:18 EST


Hi,

I have recently noticed problem with DWC2 driver in latest linux-next. I
use it in gadget only mode at Samsung platform (Odroid U3) but I believe
the bug can be reproduced at another platforms.

While running FFS example (tools/usb/ffs-aio-example/simple/) the
communication breaks after few seconds. It's because one of IN requests
enqueued in DWC2 driver do not complete. At USB analyzer I see that USB
device started to transmit data from this request, but it ended incomplete.

I bisected kernel tree, and I got following patches are reason of break.

941fcce usb: dwc2: Update the gadget driver to use common dwc2_hsotg
structure
117777b usb: dwc2: Move gadget probe function into platform code
bcc0607 usb: dwc2: convert to use dev_pm_ops API
510ffaa usb: dwc2: Initialize the USB core for peripheral mode
db8178c usb: dwc2: Update common interrupt handler to call gadget
interrupt handler
8d736d8 usb: dwc2: gadget: Do not fail probe if there isn't a clock node

Patch 941fcce breaks DWC2 driver at my platform and it starts to work
from 8d736d8 but it has described bug.

I will try to localize reason of this issue.

Best regards,
Robert Baldyga
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/