aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/vivi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c
index cc1cf6b17183..6e7bf5719b34 100644
--- a/drivers/media/video/vivi.c
+++ b/drivers/media/video/vivi.c
@@ -529,11 +529,13 @@ static void vivi_thread_tick(struct vivi_dev *dev)
529 spin_lock_irqsave(&dev->slock, flags); 529 spin_lock_irqsave(&dev->slock, flags);
530 if (list_empty(&dma_q->active)) { 530 if (list_empty(&dma_q->active)) {
531 dprintk(dev, 1, "No active queue to serve\n"); 531 dprintk(dev, 1, "No active queue to serve\n");
532 goto unlock; 532 spin_unlock_irqrestore(&dev->slock, flags);
533 return;
533 } 534 }
534 535
535 buf = list_entry(dma_q->active.next, struct vivi_buffer, list); 536 buf = list_entry(dma_q->active.next, struct vivi_buffer, list);
536 list_del(&buf->list); 537 list_del(&buf->list);
538 spin_unlock_irqrestore(&dev->slock, flags);
537 539
538 do_gettimeofday(&buf->vb.v4l2_buf.timestamp); 540 do_gettimeofday(&buf->vb.v4l2_buf.timestamp);
539 541
@@ -543,8 +545,6 @@ static void vivi_thread_tick(struct vivi_dev *dev)
543 545
544 vb2_buffer_done(&buf->vb, VB2_BUF_STATE_DONE); 546 vb2_buffer_done(&buf->vb, VB2_BUF_STATE_DONE);
545 dprintk(dev, 2, "[%p/%d] done\n", buf, buf->vb.v4l2_buf.index); 547 dprintk(dev, 2, "[%p/%d] done\n", buf, buf->vb.v4l2_buf.index);
546unlock:
547 spin_unlock_irqrestore(&dev->slock, flags);
548} 548}
549 549
550#define frames_to_ms(frames) \ 550#define frames_to_ms(frames) \