[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