mirror of https://gitee.com/openkylin/linux.git
USB: EHCI: report actual_length for iso transfers
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@rowland.harvard.edu> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
f092c24049
commit
ec6d67e39f
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue