Lines Matching refs:ureq

36 static void uvc_wait_req_complete(struct uvc_video *video, struct uvc_request *ureq)  in uvc_wait_req_complete()  argument
45 if (req == ureq->req) in uvc_wait_req_complete()
49 if (req != ureq->req) { in uvc_wait_req_complete()
50 reinit_completion(&ureq->req_done); in uvc_wait_req_complete()
53 ret = wait_for_completion_timeout(&ureq->req_done, in uvc_wait_req_complete()
69 static inline void uvc_wait_req_complete(struct uvc_video *video, struct uvc_request *ureq) in uvc_wait_req_complete() argument
222 struct uvc_request *ureq = req->context; in uvc_video_complete() local
223 struct uvc_video *video = ureq->video; in uvc_video_complete()
247 complete(&ureq->req_done); in uvc_video_complete()
260 if (video->ureq) { in uvc_video_free_requests()
262 if (video->ureq[i].req) { in uvc_video_free_requests()
263 uvc_wait_req_complete(video, &video->ureq[i]); in uvc_video_free_requests()
264 usb_ep_free_request(video->ep, video->ureq[i].req); in uvc_video_free_requests()
265 video->ureq[i].req = NULL; in uvc_video_free_requests()
268 if (video->ureq[i].req_buffer) { in uvc_video_free_requests()
269 kfree(video->ureq[i].req_buffer); in uvc_video_free_requests()
270 video->ureq[i].req_buffer = NULL; in uvc_video_free_requests()
274 kfree(video->ureq); in uvc_video_free_requests()
275 video->ureq = NULL; in uvc_video_free_requests()
301 video->ureq = kcalloc(video->uvc_num_requests, sizeof(struct uvc_request), GFP_KERNEL); in uvc_video_alloc_requests()
302 if (video->ureq == NULL) in uvc_video_alloc_requests()
306 video->ureq[i].req_buffer = kmalloc(req_size, GFP_KERNEL); in uvc_video_alloc_requests()
307 if (video->ureq[i].req_buffer == NULL) in uvc_video_alloc_requests()
310 video->ureq[i].req = usb_ep_alloc_request(video->ep, GFP_KERNEL); in uvc_video_alloc_requests()
311 if (video->ureq[i].req == NULL) in uvc_video_alloc_requests()
314 video->ureq[i].req->buf = video->ureq[i].req_buffer; in uvc_video_alloc_requests()
315 video->ureq[i].req->length = 0; in uvc_video_alloc_requests()
316 video->ureq[i].req->complete = uvc_video_complete; in uvc_video_alloc_requests()
317 video->ureq[i].req->context = &video->ureq[i]; in uvc_video_alloc_requests()
318 video->ureq[i].video = video; in uvc_video_alloc_requests()
321 init_completion(&video->ureq[i].req_done); in uvc_video_alloc_requests()
323 list_add_tail(&video->ureq[i].req->list, &video->req_free); in uvc_video_alloc_requests()
426 if (video->ureq && video->ureq[i].req) in uvcg_video_enable()
427 usb_ep_dequeue(video->ep, video->ureq[i].req); in uvcg_video_enable()