dst_vb = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx);
 
        if (src_vb && dst_vb) {
-               src_vb->v4l2_buf.timestamp = dst_vb->v4l2_buf.timestamp;
-               src_vb->v4l2_buf.timecode = dst_vb->v4l2_buf.timecode;
+               dst_vb->v4l2_buf.timestamp = src_vb->v4l2_buf.timestamp;
+               dst_vb->v4l2_buf.timecode = src_vb->v4l2_buf.timecode;
 
                v4l2_m2m_buf_done(src_vb, vb_state);
                v4l2_m2m_buf_done(dst_vb, vb_state);
 
        src_vb = v4l2_m2m_src_buf_remove(curr_ctx->m2m_ctx);
        dst_vb = v4l2_m2m_dst_buf_remove(curr_ctx->m2m_ctx);
 
-       src_vb->v4l2_buf.timestamp = dst_vb->v4l2_buf.timestamp;
-       src_vb->v4l2_buf.timecode = dst_vb->v4l2_buf.timecode;
+       dst_vb->v4l2_buf.timestamp = src_vb->v4l2_buf.timestamp;
+       dst_vb->v4l2_buf.timecode = src_vb->v4l2_buf.timecode;
 
        v4l2_m2m_buf_done(src_vb, VB2_BUF_STATE_DONE);
        v4l2_m2m_buf_done(dst_vb, VB2_BUF_STATE_DONE);
 
                        src_vb = v4l2_m2m_src_buf_remove(curr_ctx->m2m_ctx);
                        dst_vb = v4l2_m2m_dst_buf_remove(curr_ctx->m2m_ctx);
 
-                       src_vb->v4l2_buf.timestamp = dst_vb->v4l2_buf.timestamp;
-                       src_vb->v4l2_buf.timecode = dst_vb->v4l2_buf.timecode;
+                       dst_vb->v4l2_buf.timestamp = src_vb->v4l2_buf.timestamp;
+                       dst_vb->v4l2_buf.timecode = src_vb->v4l2_buf.timecode;
 
                        spin_lock_irqsave(&pcdev->irqlock, flags);
                        v4l2_m2m_buf_done(src_vb, VB2_BUF_STATE_DONE);