|
@@ -230,12 +230,15 @@ static void v4l2_m2m_try_schedule(struct v4l2_m2m_ctx *m2m_ctx)
|
|
|
dprintk("No input buffers available\n");
|
|
|
return;
|
|
|
}
|
|
|
+ spin_lock_irqsave(&m2m_ctx->cap_q_ctx.rdy_spinlock, flags);
|
|
|
if (list_empty(&m2m_ctx->cap_q_ctx.rdy_queue)) {
|
|
|
+ spin_unlock_irqrestore(&m2m_ctx->cap_q_ctx.rdy_spinlock, flags);
|
|
|
spin_unlock_irqrestore(&m2m_ctx->out_q_ctx.rdy_spinlock, flags);
|
|
|
spin_unlock_irqrestore(&m2m_dev->job_spinlock, flags_job);
|
|
|
dprintk("No output buffers available\n");
|
|
|
return;
|
|
|
}
|
|
|
+ spin_unlock_irqrestore(&m2m_ctx->cap_q_ctx.rdy_spinlock, flags);
|
|
|
spin_unlock_irqrestore(&m2m_ctx->out_q_ctx.rdy_spinlock, flags);
|
|
|
|
|
|
if (m2m_dev->m2m_ops->job_ready
|