[U-Boot] [PATCH] ehci-hcd: Allow cleanups to happen on an EHCI timeout.
Simon Glass
sjg at chromium.org
Thu Jun 30 00:32:22 CEST 2011
Hi Joel,
On Sat, Jun 25, 2011 at 12:28 PM, Joel A Fernandes <agnel.joel at gmail.com> wrote:
> With this, the EHCI seems to "recover" from a timeout. This is particularly
> observable if you were to ping the wrong IP Address and then ping the correct
> one or if there was a temporary failure during tftp sessions.
>
> All it takes is one timeout to disable it. If you have a noisy network (lot
> of traffic), even if the traffic is not for the board, the timeouts don't occur.
>
> Signed-off-by: Joel A Fernandes <agnel.joel at gmail.com>
> ---
> Robert, Could you see if this patch solves the issue you're seeing without
> increasing the timeout?
> Simon, Could this be a fix for a similar issue you were seeing with asix?
Yes this is better (ASIX can recover from a timeout), but I am
concerned that it carries on without reporting an error. Is that
right?
Should we disable async schedule and then return an error?
With respect to using a bulk USB stick (some of which take 3s or more
to respond to a submit) this doesn't make any difference for me. It
seems to take a long time to respond the first time, so the 5s timeout
seems prudent.
Since this sorts out the network side we can probably skip that patch.
Regards,
Simon
>
> drivers/usb/host/ehci-hcd.c | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
> index 243bb39..9bfcbae 100644
> --- a/drivers/usb/host/ehci-hcd.c
> +++ b/drivers/usb/host/ehci-hcd.c
> @@ -464,7 +464,6 @@ ehci_submit_async(struct usb_device *dev, unsigned long pipe, void *buffer,
> /* Check that the TD processing happened */
> if (token & 0x80) {
> printf("EHCI timed out on TD - token=%#x\n", token);
> - goto fail;
> }
>
> /* Disable async schedule. */
> --
> 1.7.1
>
>
>
More information about the U-Boot
mailing list