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

From: Paul Zimmerman
Date: Mon Jan 12 2015 - 16:35:59 EST


> From: Robert Baldyga [mailto:r.baldyga@xxxxxxxxxxx]
> Sent: Monday, December 22, 2014 6:13 AM
>
> 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.

Hi Robert,

I think the most likely suspect would be db8178c, since the rest appear
to be init-time things. It seems to revert cleanly, can you try
reverting just that patch and see if it helps?

--
Paul