There is a return in the middle where we haven't restored the IRQs to
their original state.

Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>

diff --git a/drivers/media/platform/soc_camera/mx3_camera.c 
b/drivers/media/platform/soc_camera/mx3_camera.c
index 1047e3e..4bae910 100644
--- a/drivers/media/platform/soc_camera/mx3_camera.c
+++ b/drivers/media/platform/soc_camera/mx3_camera.c
@@ -334,7 +334,7 @@ static void mx3_videobuf_queue(struct vb2_buffer *vb)
        if (!mx3_cam->active)
                mx3_cam->active = buf;
 
-       spin_unlock_irq(&mx3_cam->lock);
+       spin_unlock_irqrestore(&mx3_cam->lock, flags);
 
        cookie = txd->tx_submit(txd);
        dev_dbg(icd->parent, "Submitted cookie %d DMA 0x%08x\n",
@@ -343,7 +343,7 @@ static void mx3_videobuf_queue(struct vb2_buffer *vb)
        if (cookie >= 0)
                return;
 
-       spin_lock_irq(&mx3_cam->lock);
+       spin_lock_irqsave(&mx3_cam->lock, flags);
 
        /* Submit error */
        list_del_init(&buf->queue);
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to