Browse Source

[media] marvell-cam: Don't signal multiple frame completions in scatter/gather mode

There is only one frame known to the DMA engine in scatter/gather mode, but
it still tells us that any or all of frames 1-3 are done at each completion
interrupt.  Avoid the creation of junk frames by being sure to only
"complete" one on each interrupt.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jonathan Corbet 13 years ago
parent
commit
f2354dd180
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/media/video/marvell-ccic/mcam-core.c

+ 2 - 0
drivers/media/video/marvell-ccic/mcam-core.c

@@ -1697,6 +1697,8 @@ int mccic_irq(struct mcam_camera *cam, unsigned int irqs)
 		if (irqs & (IRQ_EOF0 << frame)) {
 			mcam_frame_complete(cam, frame);
 			handled = 1;
+			if (cam->buffer_mode == B_DMA_sg)
+				break;
 		}
 	/*
 	 * If a frame starts, note that we have DMA active.  This