aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark McLoughlin <markmc@redhat.com>2008-06-15 09:20:50 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-06-15 16:46:16 -0400
commitb92dea67cc66970cda6b5b11895d08e35b4618e7 (patch)
tree556e842834c7316f57f3f27fea6b8622d74fde8e
parent0269c5c6d9a9de22715ecda589730547435cd3e8 (diff)
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.c2
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)
124 if (err) 124 if (err)
125 add_status(dev, VIRTIO_CONFIG_S_FAILED); 125 add_status(dev, VIRTIO_CONFIG_S_FAILED);
126 else { 126 else {
127 add_status(dev, VIRTIO_CONFIG_S_DRIVER_OK);
128 /* They should never have set feature bits beyond 32 */ 127 /* They should never have set feature bits beyond 32 */
129 dev->config->set_features(dev, dev->features[0]); 128 dev->config->set_features(dev, dev->features[0]);
129 add_status(dev, VIRTIO_CONFIG_S_DRIVER_OK);
130 } 130 }
131 return err; 131 return err;
132} 132}