On 08/05/14 20:15, Paul Zimmerman wrote:
From: Nick Hudson [mailto:skrll@xxxxxxxxxx]
Sent: Tuesday, August 05, 2014 1:57 AM
On 07/22/14 22:22, Nick Hudson wrote:
On 07/22/14 18:46, Paul Zimmerman wrote:
The nak_frame handling would have added some benefit, but wouldn't
handle all
cases.
I'm seeing problems with devices NAKing to the point of confusing
dwc2 completely,
so I'd like to investigate a NAK holdoff scheme that's acceptable
for dwc2. I
suspect the best thing to do here is to add a nak_count field to
dwc2_qh (or maybe
dwc2_qtd) and increment in dwc2_hc_nak_intr. If the count exceeds a
threshold
then it would call
dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_NAK);
and go around again.
I assume the NAK count would need resetting everywhere
qtd->error_count is reset.
How does this sound?
Sounds good to me. BTW, can you give me a pointer to one of the devices
that gives excessive NAKs? I would like to buy one for the lab here to
test with.
I'm seeing problems with a d-link dwcl-g122 wifi dongle that someone
sent me.
The attached patch helps with my d-link dwl-g122 - it's adapted from the
raspberry pi dwc_otg driver.
I'm not sure the NYET/NAK/ACK/other case and would happily remove it.
I assume the scheduler is doing something that is confusing the core
with this particular device. The error recovery is still valid I think.
Hi Nick,
If this is done in the Raspberry Pi kernel, then it's probably fine,
since those guys know more about the DWC2 core than anyone, I think.
One thing: For Linux, we are required to have a Signed-off-by line on
all patches. May I add your Signed-off-by to this patch?
Sure. :)
Also, in future, please include the patch inline instead of as an
attachment. That's the standard practice on the Linux lists, it
causes less problems with funky mailers and such. Thanks.
Noted.
Nick
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html