Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5543a6ac authored by Michael S. Tsirkin's avatar Michael S. Tsirkin Committed by Rusty Russell
Browse files

virtio: don't crash when device is buggy



Because of a sanity check in virtio_dev_remove, a buggy device can crash
kernel.  And in case of rproc it's userspace so it's not a good idea.
We are unloading a driver so how bad can it be?
Be less aggressive in handling this error: if it's a driver bug,
warning once should be enough.

Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent eccbb05a
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -159,7 +159,7 @@ static int virtio_dev_remove(struct device *_d)
	drv->remove(dev);
	drv->remove(dev);


	/* Driver should have reset device. */
	/* Driver should have reset device. */
	BUG_ON(dev->config->get_status(dev));
	WARN_ON_ONCE(dev->config->get_status(dev));


	/* Acknowledge the device's existence again. */
	/* Acknowledge the device's existence again. */
	add_status(dev, VIRTIO_CONFIG_S_ACKNOWLEDGE);
	add_status(dev, VIRTIO_CONFIG_S_ACKNOWLEDGE);