[U-Boot] [PATCH 1/2] usb: fix for USB_ST_STALLED status reporting in ehci_submit_async()

Remy Bohmer linux at bohmer.net
Tue Nov 2 15:16:15 CET 2010


Hi,

2010/11/2 Anatolij Gustschin <agust at denx.de>:
> Checking the status field of the qTD token in the current code
> do not take into acount cases where endpoint stall (halted) bit
> is set together with XactErr status bit. As a result clearing
> stall on an endpoint won't be done if this status bit was also
> set. Check for halted bit and report USB_ST_STALLED status
> if the host controller also indicates endpoit stall condition.
>
> Signed-off-by: Anatolij Gustschin <agust at denx.de>
> ---
>  drivers/usb/host/ehci-hcd.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
> index 982f96e..c7fba10 100644
> --- a/drivers/usb/host/ehci-hcd.c
> +++ b/drivers/usb/host/ehci-hcd.c
> @@ -491,6 +491,8 @@ ehci_submit_async(struct usb_device *dev, unsigned long pipe, void *buffer,
>                        break;
>                default:
>                        dev->status = USB_ST_CRC_ERR;
> +                       if ((token & 0x40) == 0x40)
> +                               dev->status |= USB_ST_STALLED;
>                        break;
>                }
>                dev->act_len = length - ((token >> 16) & 0x7fff);

Applied to u-boot-usb

Thanks.

Remy


More information about the U-Boot mailing list