2016-10-06 06:33:40

by John Stultz

[permalink] [raw]
Subject: [REGRESSION] "dwc2: gadget: fix TX FIFO size and address initialization" breaks "adb logcat" on hikey

Hey folks,
So I've run into some trouble that I've narrowed down to commit
aa381a7259c3 ("usb: dwc2: gadget: fix TX FIFO size and address
initialization").

After booting up android on HiKey, if I run "adb logcat", I get about
a page of logs and then I get disconnected. On the device side, I see
the following in dmesg:

[ 35.652076] dwc2 f72c0000.usb: dwc2_hsotg_ep_sethalt(ep
ffffffc078a4c218 ep1in, 0)
[ 35.660334] dwc2 f72c0000.usb: dwc2_hsotg_ep_sethalt(ep
ffffffc078a4c018 ep1out, 0)

After which if I stop adbd I see:

[ 99.471363] dwc2 f72c0000.usb: dwc2_hsotg_ep_stop_xfr: timeout flushing fifos

and if I then restart adbd on the device it will sometimes work, but not always.

Reverting
ba48eab8866c ("usb: dwc2: gadget: change variable name to more meaningful")
and
aa381a7259c3 ("usb: dwc2: gadget: fix TX FIFO size and address initialization")

makes things work again.

Any thoughts as to what might be going wrong here? I'd be happy to
help debug things.

thanks
-john


2016-10-06 18:26:48

by John Youn

[permalink] [raw]
Subject: Re: [REGRESSION] "dwc2: gadget: fix TX FIFO size and address initialization" breaks "adb logcat" on hikey

On 10/5/2016 11:33 PM, John Stultz wrote:
> Hey folks,
> So I've run into some trouble that I've narrowed down to commit
> aa381a7259c3 ("usb: dwc2: gadget: fix TX FIFO size and address
> initialization").
>
> After booting up android on HiKey, if I run "adb logcat", I get about
> a page of logs and then I get disconnected. On the device side, I see
> the following in dmesg:
>
> [ 35.652076] dwc2 f72c0000.usb: dwc2_hsotg_ep_sethalt(ep
> ffffffc078a4c218 ep1in, 0)
> [ 35.660334] dwc2 f72c0000.usb: dwc2_hsotg_ep_sethalt(ep
> ffffffc078a4c018 ep1out, 0)
>
> After which if I stop adbd I see:
>
> [ 99.471363] dwc2 f72c0000.usb: dwc2_hsotg_ep_stop_xfr: timeout flushing fifos
>
> and if I then restart adbd on the device it will sometimes work, but not always.
>
> Reverting
> ba48eab8866c ("usb: dwc2: gadget: change variable name to more meaningful")
> and
> aa381a7259c3 ("usb: dwc2: gadget: fix TX FIFO size and address initialization")
>
> makes things work again.
>
> Any thoughts as to what might be going wrong here? I'd be happy to
> help debug things.
>
> thanks
> -john
>


Hi John,

Yup. I've already submitted patches to revert these last week, to be
applied sometime during the 4.9-rc cycle. We're working on a more
robust fix for the FIFOs too.

Regards,
John