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>
                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