mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
virtio-pci: do not oops on config change if driver not loaded
The host really shouldn't be notifying us of config changes before the device status is VIRTIO_CONFIG_S_DRIVER or VIRTIO_CONFIG_S_DRIVER_OK. However, if we do happen to be interrupted while we're not attached to a driver, we really shouldn't oops. Prevent this simply by checking that device->driver is non-NULL before trying to notify the driver of config changes. Problem observed by doing a "set_link virtio.0 down" with QEMU before the net driver had been loaded. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
720eba31f4
commit
3fff0179e3
@ -192,7 +192,7 @@ static irqreturn_t vp_interrupt(int irq, void *opaque)
|
|||||||
drv = container_of(vp_dev->vdev.dev.driver,
|
drv = container_of(vp_dev->vdev.dev.driver,
|
||||||
struct virtio_driver, driver);
|
struct virtio_driver, driver);
|
||||||
|
|
||||||
if (drv->config_changed)
|
if (drv && drv->config_changed)
|
||||||
drv->config_changed(&vp_dev->vdev);
|
drv->config_changed(&vp_dev->vdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user