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 <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
                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 */
                        goto err_request_irq;
        }
        pd->users++;
+       mutex_unlock(&pd->mux);
        return 0; /* success */
 err_request_irq:
        kfree(pd->q);