Lines Matching refs:urb
130 void udl_urb_completion(struct urb *urb)
132 struct urb_node *unode = urb->context;
137 if (urb->status) {
138 if (!(urb->status == -ENOENT ||
139 urb->status == -ECONNRESET ||
140 urb->status == -ESHUTDOWN)) {
142 __func__, urb->status);
146 urb->transfer_buffer_length = udl->urbs.size; /* reset to actual */
171 struct urb *urb;
187 urb = unode->urb;
190 usb_free_coherent(urb->dev, udl->urbs.size,
191 urb->transfer_buffer, urb->transfer_dma);
192 usb_free_urb(urb);
201 struct urb *urb;
225 urb = usb_alloc_urb(0, GFP_KERNEL);
226 if (!urb) {
230 unode->urb = urb;
233 &urb->transfer_dma);
236 usb_free_urb(urb);
245 /* urb->transfer_buffer_length set to actual before submit */
246 usb_fill_bulk_urb(urb, udl->udev, usb_sndbulkpipe(udl->udev, 1),
248 urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
262 struct urb *udl_get_urb(struct drm_device *dev)
268 struct urb *urb = NULL;
273 DRM_INFO("wait for urb interrupted: %x available: %d\n",
288 urb = unode->urb;
291 return urb;
294 int udl_submit_urb(struct drm_device *dev, struct urb *urb, size_t len)
301 urb->transfer_buffer_length = len; /* set to actual payload len */
302 ret = usb_submit_urb(urb, GFP_ATOMIC);
304 udl_urb_completion(urb); /* because no one else will */