|
@@ -976,6 +976,7 @@ static int vpif_reqbufs(struct file *file, void *priv,
|
|
|
struct common_obj *common;
|
|
|
u8 index = 0;
|
|
|
struct vb2_queue *q;
|
|
|
+ int ret;
|
|
|
|
|
|
vpif_dbg(2, debug, "vpif_reqbufs\n");
|
|
|
|
|
@@ -1015,8 +1016,12 @@ static int vpif_reqbufs(struct file *file, void *priv,
|
|
|
q->mem_ops = &vb2_dma_contig_memops;
|
|
|
q->buf_struct_size = sizeof(struct vpif_cap_buffer);
|
|
|
|
|
|
- vb2_queue_init(q);
|
|
|
-
|
|
|
+ ret = vb2_queue_init(q);
|
|
|
+ if (ret) {
|
|
|
+ vpif_err("vpif_capture: vb2_queue_init() failed\n");
|
|
|
+ vb2_dma_contig_cleanup_ctx(common->alloc_ctx);
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
/* Set io allowed member of file handle to TRUE */
|
|
|
fh->io_allowed[index] = 1;
|
|
|
/* Increment io usrs member of channel object to 1 */
|