diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2012-09-28 01:35:16 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2012-09-28 01:35:16 -0400 |
commit | 5543a6ac31eb4bfd8d938db6b234ce833d14e04e (patch) | |
tree | df471800d5701f2c0db0d2a1d4659fbb0549473e /drivers/virtio | |
parent | eccbb05a64fef867362ff05b5d266757e3c82b36 (diff) |
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: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/virtio')
-rw-r--r-- | drivers/virtio/virtio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c index c3b3f7f0d9d1..1e8659ca27ef 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c | |||
@@ -159,7 +159,7 @@ static int virtio_dev_remove(struct device *_d) | |||
159 | drv->remove(dev); | 159 | drv->remove(dev); |
160 | 160 | ||
161 | /* Driver should have reset device. */ | 161 | /* Driver should have reset device. */ |
162 | BUG_ON(dev->config->get_status(dev)); | 162 | WARN_ON_ONCE(dev->config->get_status(dev)); |
163 | 163 | ||
164 | /* Acknowledge the device's existence again. */ | 164 | /* Acknowledge the device's existence again. */ |
165 | add_status(dev, VIRTIO_CONFIG_S_ACKNOWLEDGE); | 165 | add_status(dev, VIRTIO_CONFIG_S_ACKNOWLEDGE); |