The virtio spec doesn't allow changing virtqueue state after DRIVER_OK. Some devices do support this operation when the device is suspended. The VHOST_BACKEND_F_CHANGEABLE_VQ_STATE_IN_SUSPEND flag advertises this support as a backend features. Signed-off-by: Dragos Tatulea <dtatulea@xxxxxxxxxx> Suggested-by: Eugenio Pérez <eperezma@xxxxxxxxxx> --- include/uapi/linux/vhost_types.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/uapi/linux/vhost_types.h b/include/uapi/linux/vhost_types.h index aacd067afc89..848dadc95ca1 100644 --- a/include/uapi/linux/vhost_types.h +++ b/include/uapi/linux/vhost_types.h @@ -196,5 +196,9 @@ struct vhost_vdpa_iova_range { * and is in state DRIVER_OK. */ #define VHOST_BACKEND_F_CHANGEABLE_VQ_ADDR_IN_SUSPEND 0x9 +/* Device supports changing virtqueue state when device is suspended + * and is in state DRIVER_OK. + */ +#define VHOST_BACKEND_F_CHANGEABLE_VQ_STATE_IN_SUSPEND 0x10 #endif -- 2.43.0