spin_lock(&skel->qlock);
                list_del(&new_buf->list);
                spin_unlock(&skel->qlock);
-               v4l2_get_timestamp(&new_buf->vb.v4l2_buf.timestamp);
-               new_buf->vb.v4l2_buf.sequence = skel->sequence++;
-               new_buf->vb.v4l2_buf.field = skel->field;
+               new_buf->vb.vb2_buf.timestamp = ktime_get_ns();
+               new_buf->vb.sequence = skel->sequence++;
+               new_buf->vb.field = skel->field;
                if (skel->format.field == V4L2_FIELD_ALTERNATE) {
                        if (skel->field == V4L2_FIELD_BOTTOM)
                                skel->field = V4L2_FIELD_TOP;
                        else if (skel->field == V4L2_FIELD_TOP)
                                skel->field = V4L2_FIELD_BOTTOM;
                }
-               vb2_buffer_done(&new_buf->vb, VB2_BUF_STATE_DONE);
+               vb2_buffer_done(&new_buf->vb.vb2_buf, VB2_BUF_STATE_DONE);
        }
 #endif
        return IRQ_HANDLED;