--- a/hw/virtio-serial-bus.c 2010-02-09 00:41:21.000000000 -0600
+++ b/hw/virtio-serial-bus.c 2010-02-09 00:07:13.000000000 -0600
@@ -68,7 +68,7 @@ static VirtIOSerialPort *find_port_by_vq
static bool use_multiport(VirtIOSerial *vser)
{
- return vser->vdev.features & (1 << VIRTIO_CONSOLE_F_MULTIPORT);
+ return vser->vdev.guest_features & (1 << VIRTIO_CONSOLE_F_MULTIPORT);
}
static size_t write_to_port(VirtIOSerialPort *port,
@@ -333,9 +333,11 @@ static void handle_input(VirtIODevice *v
{
}
-static uint32_t get_features(VirtIODevice *vdev)
+static uint32_t get_features(VirtIODevice *vdev, uint32_t features)
{
- return 1 << VIRTIO_CONSOLE_F_MULTIPORT;
+ features |= (1 << VIRTIO_CONSOLE_F_MULTIPORT);
+
+ return features;
}
/* Guest requested config info */