Subject: Re: [PATCH v3 10/25] virtio: add API to enable VQs early

From: Rusty Russell <[email-masked]>
Date: Mon, 13 Oct 2014 17:22:39 +1030

"Michael S. Tsirkin" <[email-masked]> writes:
> virtio spec 0.9.X requires DRIVER_OK to be set before
> VQs are used, but some drivers use VQs before probe
> function returns.
> Since DRIVER_OK is set after probe, this violates the spec.
>
> Even though under virtio 1.0 transitional devices support this
> behaviour, we want to make it possible for those early callers to become
> spec compliant and eventually support non-transitional devices.
>
> Add API for drivers to call before using VQs.
>
> Sets DRIVER_OK internally.
>
> Signed-off-by: Michael S. Tsirkin <[email-masked]>
> Reviewed-by: Cornelia Huck <[email-masked]>

OK, this all looks good, but I think we should do two things:

1) rename virtio_enable_vqs_early() to virtio_device_ready().
2) Add a BUG_ON in the virtio_ring code to make sure device is ready
   before any ops are called.

Cheers,
Rusty.