* [PATCH v2] uvc: Add return code check at vb2_queue_init()
@ 2012-09-26 11:30 Ezequiel Garcia
2012-09-26 11:48 ` Laurent Pinchart
0 siblings, 1 reply; 2+ messages in thread
From: Ezequiel Garcia @ 2012-09-26 11:30 UTC (permalink / raw)
To: linux-media; +Cc: Ezequiel Garcia, Laurent Pinchart
This function returns an integer and it's mandatory
to check the return code.
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
---
Changes from v1:
* Change variable name rc -> ret
* Add return 0 on successful uvc_queue_init
drivers/media/usb/uvc/uvc_queue.c | 10 ++++++++--
drivers/media/usb/uvc/uvc_video.c | 4 +++-
drivers/media/usb/uvc/uvcvideo.h | 2 +-
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/media/usb/uvc/uvc_queue.c b/drivers/media/usb/uvc/uvc_queue.c
index 5577381..18a91fa 100644
--- a/drivers/media/usb/uvc/uvc_queue.c
+++ b/drivers/media/usb/uvc/uvc_queue.c
@@ -122,21 +122,27 @@ static struct vb2_ops uvc_queue_qops = {
.buf_finish = uvc_buffer_finish,
};
-void uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type,
+int uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type,
int drop_corrupted)
{
+ int ret;
+
queue->queue.type = type;
queue->queue.io_modes = VB2_MMAP | VB2_USERPTR;
queue->queue.drv_priv = queue;
queue->queue.buf_struct_size = sizeof(struct uvc_buffer);
queue->queue.ops = &uvc_queue_qops;
queue->queue.mem_ops = &vb2_vmalloc_memops;
- vb2_queue_init(&queue->queue);
+ ret = vb2_queue_init(&queue->queue);
+ if (ret)
+ return ret;
mutex_init(&queue->mutex);
spin_lock_init(&queue->irqlock);
INIT_LIST_HEAD(&queue->irqqueue);
queue->flags = drop_corrupted ? UVC_QUEUE_DROP_CORRUPTED : 0;
+
+ return 0;
}
/* -----------------------------------------------------------------------------
diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
index 1c15b42..57c3076 100644
--- a/drivers/media/usb/uvc/uvc_video.c
+++ b/drivers/media/usb/uvc/uvc_video.c
@@ -1755,7 +1755,9 @@ int uvc_video_init(struct uvc_streaming *stream)
atomic_set(&stream->active, 0);
/* Initialize the video buffers queue. */
- uvc_queue_init(&stream->queue, stream->type, !uvc_no_drop_param);
+ ret = uvc_queue_init(&stream->queue, stream->type, !uvc_no_drop_param);
+ if (ret)
+ return ret;
/* Alternate setting 0 should be the default, yet the XBox Live Vision
* Cam (and possibly other devices) crash or otherwise misbehave if
diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
index 3764040..af216ec 100644
--- a/drivers/media/usb/uvc/uvcvideo.h
+++ b/drivers/media/usb/uvc/uvcvideo.h
@@ -600,7 +600,7 @@ extern struct uvc_driver uvc_driver;
extern struct uvc_entity *uvc_entity_by_id(struct uvc_device *dev, int id);
/* Video buffers queue management. */
-extern void uvc_queue_init(struct uvc_video_queue *queue,
+extern int uvc_queue_init(struct uvc_video_queue *queue,
enum v4l2_buf_type type, int drop_corrupted);
extern int uvc_alloc_buffers(struct uvc_video_queue *queue,
struct v4l2_requestbuffers *rb);
--
1.7.8.6
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] uvc: Add return code check at vb2_queue_init()
2012-09-26 11:30 [PATCH v2] uvc: Add return code check at vb2_queue_init() Ezequiel Garcia
@ 2012-09-26 11:48 ` Laurent Pinchart
0 siblings, 0 replies; 2+ messages in thread
From: Laurent Pinchart @ 2012-09-26 11:48 UTC (permalink / raw)
To: Ezequiel Garcia; +Cc: linux-media
On Wednesday 26 September 2012 08:30:34 Ezequiel Garcia wrote:
> This function returns an integer and it's mandatory
> to check the return code.
>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Applied to my tree, thank you.
> ---
> Changes from v1:
> * Change variable name rc -> ret
> * Add return 0 on successful uvc_queue_init
>
> drivers/media/usb/uvc/uvc_queue.c | 10 ++++++++--
> drivers/media/usb/uvc/uvc_video.c | 4 +++-
> drivers/media/usb/uvc/uvcvideo.h | 2 +-
> 3 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/usb/uvc/uvc_queue.c
> b/drivers/media/usb/uvc/uvc_queue.c index 5577381..18a91fa 100644
> --- a/drivers/media/usb/uvc/uvc_queue.c
> +++ b/drivers/media/usb/uvc/uvc_queue.c
> @@ -122,21 +122,27 @@ static struct vb2_ops uvc_queue_qops = {
> .buf_finish = uvc_buffer_finish,
> };
>
> -void uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type,
> +int uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type,
> int drop_corrupted)
> {
> + int ret;
> +
> queue->queue.type = type;
> queue->queue.io_modes = VB2_MMAP | VB2_USERPTR;
> queue->queue.drv_priv = queue;
> queue->queue.buf_struct_size = sizeof(struct uvc_buffer);
> queue->queue.ops = &uvc_queue_qops;
> queue->queue.mem_ops = &vb2_vmalloc_memops;
> - vb2_queue_init(&queue->queue);
> + ret = vb2_queue_init(&queue->queue);
> + if (ret)
> + return ret;
>
> mutex_init(&queue->mutex);
> spin_lock_init(&queue->irqlock);
> INIT_LIST_HEAD(&queue->irqqueue);
> queue->flags = drop_corrupted ? UVC_QUEUE_DROP_CORRUPTED : 0;
> +
> + return 0;
> }
>
> /*
> ---------------------------------------------------------------------------
> -- diff --git a/drivers/media/usb/uvc/uvc_video.c
> b/drivers/media/usb/uvc/uvc_video.c index 1c15b42..57c3076 100644
> --- a/drivers/media/usb/uvc/uvc_video.c
> +++ b/drivers/media/usb/uvc/uvc_video.c
> @@ -1755,7 +1755,9 @@ int uvc_video_init(struct uvc_streaming *stream)
> atomic_set(&stream->active, 0);
>
> /* Initialize the video buffers queue. */
> - uvc_queue_init(&stream->queue, stream->type, !uvc_no_drop_param);
> + ret = uvc_queue_init(&stream->queue, stream->type, !uvc_no_drop_param);
> + if (ret)
> + return ret;
>
> /* Alternate setting 0 should be the default, yet the XBox Live Vision
> * Cam (and possibly other devices) crash or otherwise misbehave if
> diff --git a/drivers/media/usb/uvc/uvcvideo.h
> b/drivers/media/usb/uvc/uvcvideo.h index 3764040..af216ec 100644
> --- a/drivers/media/usb/uvc/uvcvideo.h
> +++ b/drivers/media/usb/uvc/uvcvideo.h
> @@ -600,7 +600,7 @@ extern struct uvc_driver uvc_driver;
> extern struct uvc_entity *uvc_entity_by_id(struct uvc_device *dev, int id);
>
> /* Video buffers queue management. */
> -extern void uvc_queue_init(struct uvc_video_queue *queue,
> +extern int uvc_queue_init(struct uvc_video_queue *queue,
> enum v4l2_buf_type type, int drop_corrupted);
> extern int uvc_alloc_buffers(struct uvc_video_queue *queue,
> struct v4l2_requestbuffers *rb);
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-09-26 11:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-26 11:30 [PATCH v2] uvc: Add return code check at vb2_queue_init() Ezequiel Garcia
2012-09-26 11:48 ` Laurent Pinchart
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).