[PATCH] um: virtio-pci: implement .shutdown()

Johannes Berg johannes at sipsolutions.net
Wed Aug 27 12:35:35 PDT 2025


From: Johannes Berg <johannes.berg at intel.com>

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 <johannes.berg at intel.com>
---
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




More information about the linux-um mailing list