From: Hans Verkuil <[email protected]>

A mutex_unlock was missing in the 'success' path of the open() call,
and also at one error path in the same function.

Signed-off-by: Hans Verkuil <[email protected]>
---
 drivers/staging/media/dt3155v4l/dt3155v4l.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/dt3155v4l/dt3155v4l.c 
b/drivers/staging/media/dt3155v4l/dt3155v4l.c
index 073b3b3..57fadea 100644
--- a/drivers/staging/media/dt3155v4l/dt3155v4l.c
+++ b/drivers/staging/media/dt3155v4l/dt3155v4l.c
@@ -398,7 +398,7 @@ dt3155_open(struct file *filp)
                pd->field_count = 0;
                ret = vb2_queue_init(pd->q);
                if (ret < 0)
-                       return ret;
+                       goto err_request_irq;
                INIT_LIST_HEAD(&pd->dmaq);
                spin_lock_init(&pd->lock);
                /* disable all irqs, clear all irq flags */
@@ -410,6 +410,7 @@ dt3155_open(struct file *filp)
                        goto err_request_irq;
        }
        pd->users++;
+       mutex_unlock(&pd->mux);
        return 0; /* success */
 err_request_irq:
        kfree(pd->q);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to