virtio-pci: do not oops on config change if driver not loaded
authorMark McLoughlin <markmc@redhat.com>
Tue, 3 Feb 2009 03:03:53 +0000 (13:03 +1030)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Feb 2009 03:17:56 +0000 (19:17 -0800)
commit3fff0179e33cd7d0a688dab65700c46ad089e934
tree34c30ceedb3c5ae5cb6a5fb8d1c62aed7c845054
parent720eba31f47aeade8ec130ca7f4353223c49170f
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>
drivers/virtio/virtio_pci.c