diff options
Diffstat (limited to 'drivers/usb/host/fhci-sched.c')
-rw-r--r-- | drivers/usb/host/fhci-sched.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/usb/host/fhci-sched.c b/drivers/usb/host/fhci-sched.c index 8f18538e0ff7..95ca5986e672 100644 --- a/drivers/usb/host/fhci-sched.c +++ b/drivers/usb/host/fhci-sched.c | |||
@@ -739,9 +739,13 @@ void fhci_queue_urb(struct fhci_hcd *fhci, struct urb *urb) | |||
739 | } | 739 | } |
740 | 740 | ||
741 | /* for ISO transfer calculate start frame index */ | 741 | /* for ISO transfer calculate start frame index */ |
742 | if (ed->mode == FHCI_TF_ISO && urb->transfer_flags & URB_ISO_ASAP) | 742 | if (ed->mode == FHCI_TF_ISO) { |
743 | urb->start_frame = ed->td_head ? ed->last_iso + 1 : | 743 | /* Ignore the possibility of underruns */ |
744 | urb->start_frame = ed->td_head ? ed->next_iso : | ||
744 | get_frame_num(fhci); | 745 | get_frame_num(fhci); |
746 | ed->next_iso = (urb->start_frame + urb->interval * | ||
747 | urb->number_of_packets) & 0x07ff; | ||
748 | } | ||
745 | 749 | ||
746 | /* | 750 | /* |
747 | * OHCI handles the DATA toggle itself,we just use the USB | 751 | * OHCI handles the DATA toggle itself,we just use the USB |