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

From: Yunzhi Li
Date: Mon Nov 09 2015 - 05:00:13 EST


hi Doug

å 2015/11/7 7:56, Doug Anderson åé:
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

It seems that we are debugging two different issues, your new patch which rewrite
the microframe scheduler doesn't resolve my problem. My patch fix chrome-os issue
#46547 not related to the particular Microsoft keyboard any keyboard could be used
to reproduce the issue.


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