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