From: Johannes Berg <[email protected]>

We don't want queues stopped since the shutdown can still
be doing things with PCI devices, so implement .shutdown()
to avoid the generic virtio shutdown.

Signed-off-by: Johannes Berg <[email protected]>
---
I already wrote this ~2.5 months ago but seem to have totally
forgotten ...
---
 arch/um/drivers/virtio_pcidev.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/um/drivers/virtio_pcidev.c b/arch/um/drivers/virtio_pcidev.c
index e9e23cc3f357..f9b4b6f7582c 100644
--- a/arch/um/drivers/virtio_pcidev.c
+++ b/arch/um/drivers/virtio_pcidev.c
@@ -598,6 +598,11 @@ static void virtio_pcidev_virtio_remove(struct 
virtio_device *vdev)
        kfree(dev);
 }
 
+static void virtio_pcidev_virtio_shutdown(struct virtio_device *vdev)
+{
+       /* nothing to do, we just don't want queue shutdown */
+}
+
 static struct virtio_device_id id_table[] = {
        { CONFIG_UML_PCI_OVER_VIRTIO_DEVICE_ID, VIRTIO_DEV_ANY_ID },
        { 0 },
@@ -609,6 +614,7 @@ static struct virtio_driver virtio_pcidev_virtio_driver = {
        .id_table = id_table,
        .probe = virtio_pcidev_virtio_probe,
        .remove = virtio_pcidev_virtio_remove,
+       .shutdown = virtio_pcidev_virtio_shutdown,
 };
 
 static int __init virtio_pcidev_init(void)
-- 
2.51.0


Reply via email to