diff options
author | Mark McLoughlin <markmc@redhat.com> | 2008-06-15 23:20:50 +1000 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-15 13:46:16 -0700 |
commit | b92dea67cc66970cda6b5b11895d08e35b4618e7 (patch) | |
tree | 556e842834c7316f57f3f27fea6b8622d74fde8e | |
parent | 0269c5c6d9a9de22715ecda589730547435cd3e8 (diff) | |
download | linux-stable-b92dea67cc66970cda6b5b11895d08e35b4618e7.tar.gz linux-stable-b92dea67cc66970cda6b5b11895d08e35b4618e7.tar.bz2 linux-stable-b92dea67cc66970cda6b5b11895d08e35b4618e7.zip |
virtio: Complete feature negotation before updating status
lguest (in rusty's use-tun-ringfd patch) assumes that the
guest has updated its feature bits before setting its status
to VIRTIO_CONFIG_S_DRIVER_OK.
That's pretty reasonable, so let's make it so.
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>
-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 0f3c2bb7bf35..7084e7e146c0 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c @@ -124,9 +124,9 @@ static int virtio_dev_probe(struct device *_d) if (err) add_status(dev, VIRTIO_CONFIG_S_FAILED); else { - add_status(dev, VIRTIO_CONFIG_S_DRIVER_OK); /* They should never have set feature bits beyond 32 */ dev->config->set_features(dev, dev->features[0]); + add_status(dev, VIRTIO_CONFIG_S_DRIVER_OK); } return err; } |