struct vb2_buffer *vb2_buf;
 
                vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, buf->type);
-
-               if (buf->index >= vq->num_buffers) {
-                       dev_dbg(dev, "%s buffer index %d out of range (%d)\n",
-                               ctx->name, buf->index, vq->num_buffers);
+               vb2_buf = vb2_get_buffer(vq, buf->index);
+               if (!vb2_buf) {
+                       dev_dbg(dev, "%s buffer index %d not found\n", ctx->name, buf->index);
                        return -EINVAL;
                }
-
-               vb2_buf = vb2_get_buffer(vq, buf->index);
                stream = to_hva_stream(to_vb2_v4l2_buffer(vb2_buf));
                stream->bytesused = buf->bytesused;
        }