835
836
837 qh = qh_append_tds(ehci, urb, qtd_list, epnum, &urb->ep->hcpriv);
838 BUG_ON (qh == NULL);
839
840
841 ehci_to_hcd(ehci)->self.bandwidth_int_reqs++;
842
843done:
844 if (unlikely(status))
845 usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb);
846done_not_linked:
847 spin_unlock_irqrestore (&ehci->lock, flags);
848 if (status)
849 qtd_list_free (ehci, urb, qtd_list);
850
851 return status;
852}
853
854
855
856
857
858static struct ehci_iso_stream *
859iso_stream_alloc (gfp_t mem_flags)
860{
861 struct ehci_iso_stream *stream;
862
863 stream = kzalloc(sizeof *stream, mem_flags);
864 if (likely (stream != NULL)) {
865 INIT_LIST_HEAD(&stream->td_list);
866 INIT_LIST_HEAD(&stream->free_list);
867 stream->next_uframe = -1;
868 stream->refcount = 1;
869 }
870 return stream;
871}
872
873static void
874iso_stream_init (
875 struct ehci_hcd *ehci,