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

From: John Stultz
Date: Thu Oct 06 2016 - 02:34:04 EST


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