From 86f394851b9bd4e0b0b3188b4792d8780b7c52e0 Mon Sep 17 00:00:00 2001 From: Jian Jun Chen Date: Thu, 29 Mar 2018 12:44:52 +0800 Subject: [PATCH] dm/VBS-U: increase generation when configuration changed Virtio 1.0 introdues a generation number for the device-specific configuration. It should be increased every time the configuration noticeably changes. Signed-off-by: Jian Jun Chen Reviewed-by: Hao Li Reviewed-by: Zhao Yakui Acked-by: Eddie Dong --- devicemodel/include/virtio.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/devicemodel/include/virtio.h b/devicemodel/include/virtio.h index d35fc69d5..ef7379bce 100644 --- a/devicemodel/include/virtio.h +++ b/devicemodel/include/virtio.h @@ -674,6 +674,10 @@ vq_interrupt(struct virtio_base *vb, struct virtio_vq_info *vq) static inline void virtio_config_changed(struct virtio_base *vb) { + if (!(vb->status & VIRTIO_CR_STATUS_DRIVER_OK)) + return; + + vb->config_generation++; if (pci_msix_enabled(vb->dev)) pci_generate_msix(vb->dev, vb->msix_cfg_idx);