Simply synchronize the platform irq that is used by us. Cc: Thomas Gleixner <t...@linutronix.de> Cc: Peter Zijlstra <pet...@infradead.org> Cc: "Paul E. McKenney" <paul...@kernel.org> Cc: Marc Zyngier <m...@kernel.org> Cc: Halil Pasic <pa...@linux.ibm.com> Cc: Cornelia Huck <coh...@redhat.com> Cc: Vineeth Vijayan <vnee...@linux.ibm.com> Cc: Peter Oberparleiter <ober...@linux.ibm.com> Cc: linux-s...@vger.kernel.org Reviewed-by: Cornelia Huck <coh...@redhat.com> Signed-off-by: Jason Wang <jasow...@redhat.com> --- drivers/virtio/virtio_mmio.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c index 839684d672af..c9699a59f93c 100644 --- a/drivers/virtio/virtio_mmio.c +++ b/drivers/virtio/virtio_mmio.c @@ -345,6 +345,13 @@ static void vm_del_vqs(struct virtio_device *vdev) free_irq(platform_get_irq(vm_dev->pdev, 0), vm_dev); } +static void vm_synchronize_cbs(struct virtio_device *vdev) +{ + struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); + + synchronize_irq(platform_get_irq(vm_dev->pdev, 0)); +} + static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned int index, void (*callback)(struct virtqueue *vq), const char *name, bool ctx) @@ -541,6 +548,7 @@ static const struct virtio_config_ops virtio_mmio_config_ops = { .finalize_features = vm_finalize_features, .bus_name = vm_bus_name, .get_shm_region = vm_get_shm_region, + .synchronize_cbs = vm_synchronize_cbs, }; -- 2.25.1 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization