Lines Matching refs:urb
161 static void free_urb_priv(struct fhci_hcd *fhci, struct urb *urb) in free_urb_priv() argument
164 struct urb_priv *urb_priv = urb->hcpriv; in free_urb_priv()
180 urb->hcpriv = NULL; in free_urb_priv()
189 void fhci_urb_complete_free(struct fhci_hcd *fhci, struct urb *urb) in fhci_urb_complete_free() argument
191 free_urb_priv(fhci, urb); in fhci_urb_complete_free()
193 if (urb->status == -EINPROGRESS) { in fhci_urb_complete_free()
194 if (urb->actual_length != urb->transfer_buffer_length && in fhci_urb_complete_free()
195 urb->transfer_flags & URB_SHORT_NOT_OK) in fhci_urb_complete_free()
196 urb->status = -EREMOTEIO; in fhci_urb_complete_free()
198 urb->status = 0; in fhci_urb_complete_free()
201 usb_hcd_unlink_urb_from_ep(fhci_to_hcd(fhci), urb); in fhci_urb_complete_free()
205 usb_hcd_giveback_urb(fhci_to_hcd(fhci), urb, urb->status); in fhci_urb_complete_free()
214 void fhci_done_td(struct urb *urb, struct td *td) in fhci_done_td() argument
222 if (!(urb->transfer_flags & URB_SHORT_NOT_OK && in fhci_done_td()
226 if (usb_pipeout(urb->pipe)) in fhci_done_td()
227 len = urb->iso_frame_desc[td->iso_index].length; in fhci_done_td()
231 urb->actual_length += len; in fhci_done_td()
232 urb->iso_frame_desc[td->iso_index].actual_length = len; in fhci_done_td()
233 urb->iso_frame_desc[td->iso_index].status = in fhci_done_td()
243 urb->error_count = 3; in fhci_done_td()
248 if (!(urb->transfer_flags & URB_SHORT_NOT_OK) && in fhci_done_td()
254 if (urb->status == -EINPROGRESS) in fhci_done_td()
255 urb->status = status_to_error(cc); in fhci_done_td()
260 urb->actual_length += td->actual_len; in fhci_done_td()
268 struct urb *urb = td->urb; in fhci_del_ed_list() local
269 struct urb_priv *urb_priv = urb->hcpriv; in fhci_del_ed_list()
275 fhci_done_td(urb, td); in fhci_del_ed_list()
279 fhci_urb_complete_free(fhci, urb); in fhci_del_ed_list()