Re: [RFC] usb: dwc2: hcd: fix split schedule issue

From: Doug Anderson
Date: Fri Nov 06 2015 - 18:56:43 EST


lyz@,

On Fri, Nov 6, 2015 at 1:36 AM, Yunzhi Li <lyz@xxxxxxxxxxxxxx> wrote:
> Fix dwc2 split schedule sequence issue. Not schedule a SSPLIT_IN
> packet between SSPLIT-begin and SSPLIT-end.
>
> Signed-off-by: Yunzhi Li <lyz@xxxxxxxxxxxxxx>
> ---
> drivers/usb/dwc2/hcd.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
> index e79baf7..a32ed01 100644
> --- a/drivers/usb/dwc2/hcd.c
> +++ b/drivers/usb/dwc2/hcd.c
> @@ -1122,6 +1122,10 @@ static void dwc2_process_periodic_channels(struct dwc2_hsotg *hsotg)
> break;
> }
>
> + if (qh->channel->xact_pos == DWC2_HCSPLT_XACTPOS_BEGIN ||
> + qh->channel->xact_pos == DWC2_HCSPLT_XACTPOS_MID)
> + break;
> +
> /*
> * In Slave mode, stay on the current transfer until there is
> * nothing more to do or the high-bandwidth request count is

Just a quite note to say that this doesn't seem to resolve the weird
errors I'm seeing with the "Microsoft Wireless Keyboard 2000" that I
have. I see split transaction errors in a USB analyzer with just that
hooked up behind a hub (don't even need any other USB devices).

...it is possible that there are two unrelated problems here, but it's
also possible that there's some bigger root cause that will fix both
of our problems. I've been poking at things a bit too, but so far no
luck...

-Doug
--
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/