--- drivers/media/v4l2-core/videobuf2-core.c.old 2016-05-11 18:44:50.917083559 +0100 +++ drivers/media/v4l2-core/videobuf2-core.c 2016-05-11 18:45:10.136184837 +0100 @@ -1665,7 +1665,7 @@ static int __vb2_get_done_vb(struct vb2_ * Only remove the buffer from done_list if v4l2_buffer can handle all * the planes. */ - ret = call_bufop(q, verify_planes_array, *vb, pb); + ret = pb ? call_bufop(q, verify_planes_array, *vb, pb) : 0; if (!ret) list_del(&(*vb)->done_entry); spin_unlock_irqrestore(&q->done_lock, flags);