Re: [PATCH 5/8 ver 2] EHCI: report actual_length for iso transfers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 29 June 2009, Alan Stern wrote:
> This patch (as1259b) makes ehci-hcd return the total number of bytes
> transferred in urb->actual_length for Isochronous transfers.
> Until now, the actual_length value was unaccountably left at 0.
> 
> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>


> CC: David Brownell <david-b@xxxxxxxxxxx>
> 
> ---
> 
> This is a very minor bug fix.  It can go in 2.6.31 and .stable.
> 
> 
> Index: usb-2.6/drivers/usb/host/ehci-sched.c
> ===================================================================
> --- usb-2.6.orig/drivers/usb/host/ehci-sched.c
> +++ usb-2.6/drivers/usb/host/ehci-sched.c
> @@ -1619,11 +1619,14 @@ itd_complete (
>  				desc->status = -EPROTO;
>  
>  			/* HC need not update length with this error */
> -			if (!(t & EHCI_ISOC_BABBLE))
> -				desc->actual_length = EHCI_ITD_LENGTH (t);
> +			if (!(t & EHCI_ISOC_BABBLE)) {
> +				desc->actual_length = EHCI_ITD_LENGTH(t);
> +				urb->actual_length += desc->actual_length;
> +			}
>  		} else if (likely ((t & EHCI_ISOC_ACTIVE) == 0)) {
>  			desc->status = 0;
> -			desc->actual_length = EHCI_ITD_LENGTH (t);
> +			desc->actual_length = EHCI_ITD_LENGTH(t);
> +			urb->actual_length += desc->actual_length;
>  		} else {
>  			/* URB was too late */
>  			desc->status = -EXDEV;
> @@ -2014,7 +2017,8 @@ sitd_complete (
>  			desc->status = -EPROTO;
>  	} else {
>  		desc->status = 0;
> -		desc->actual_length = desc->length - SITD_LENGTH (t);
> +		desc->actual_length = desc->length - SITD_LENGTH(t);
> +		urb->actual_length += desc->actual_length;
>  	}
>  	stream->depth -= stream->interval << 3;
>  
> 
> 



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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux