static int uvc_ioctl_reqbufs(struct file *file, void *fh, struct v4l2_requestbuffers *rb) { struct uvc_fh *handle = fh; struct uvc_streaming *stream = handle->stream; int ret;
ret = uvc_acquire_privileges(handle); if (ret < 0) return ret;
mutex_lock(&stream->mutex); ret = uvc_request_buffers(&stream->queue, rb); mutex_unlock(&stream->mutex); if (ret < 0) return ret;
if (ret == 0) uvc_dismiss_privileges(handle);
return 0; }