> >Bus 001 Device 003: ID 08bb:29c0 Texas Instruments Japan PCM2900C Audio >CODEC Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 8 > idVendor 0x08bb Texas Instruments Japan > idProduct 0x29c0 PCM2900C Audio CODEC > bcdDevice 1.00 > iManufacturer 1 BurrBrown from Texas Instruments > iProduct 2 USB AUDIO CODEC > iSerial 0 > > >Bisecting between 3.19 and 4.4 narrows it down to this commit: > >commit e765bfb73ff711b1d139a4438af9ecedabb07d34 >Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> >Date: Thu Jun 18 11:43:34 2015 +0800 > > usb: chipidea: imx: enable CI_HDRC_SET_NON_ZERO_TTHA > > For i.mx platform, set ttctrl.ttha with non-zero value only affects > sitd, and ehci core makes sure the schedule is not full when accepts > new request, so it will not occur the transaction which will acorss > the SoF. > > >And indeed reverting that fixes the problem on 4.4 > >I see that this has already been reverted in 4.5 by: > >commit 1bc7da87c7410c6990c3251589e3854e64c55af2 >Author: Peter Chen <peter.chen@xxxxxxx> >Date: Fri Jan 29 16:47:24 2016 +0800 > > Revert "usb: chipidea: imx: enable CI_HDRC_SET_NON_ZERO_TTHA" > > This reverts commit e765bfb73ff7. > > In the most of cases, we only use one transaction per frame and the > frame rate may be high, If the platforms want to support multiple > transactions but less frame rate cases like [1] and [2], it can set > "non-zero-ttctrl-ttha" at dts. > > [1] http://www.spinics.net/lists/linux-usb/msg123125.html > [2] http://www.spinics.net/lists/linux-usb/msg118679.html > > Signed-off-by: Peter Chen <peter.chen@xxxxxxx> > > >Which explains why 4.10 is ok. > >But, maybe this should be backported to 4.4 (old)stable? > >However the revert commit message doesn't really indicate that it is a >bug fix. >The links in the revert commit are describing scenarios involving >multiple codecs, whereas I am only using one. > Thanks for recording it. If you are using one full speed codec, you need this revert patch, this is the most common use case, and the default behavior. If you are using multiple full speed codec, you need to add CI_HDRC_SET_NON_ZERO_TTHA manually at dts. It is ok to cc stable for this revert, since it let the most use case be out of work. Peter ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥