aboutsummaryrefslogtreecommitdiff
path: root/hw/virtio-serial-bus.c
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2010-02-15 20:43:56 +0530
committerAnthony Liguori <aliguori@us.ibm.com>2010-02-19 15:32:16 -0600
commitee4d45be0d791eb8bb0f767cd0f17ea8f697281b (patch)
tree892162ac2e46924b7d313a086b772877bbe12f48 /hw/virtio-serial-bus.c
parent8bfbde6d35c82cc376681289dae2de5e18a087a4 (diff)
virtio-serial: don't set MULTIPORT for 1 port dev
Since commit 98b19252cf1bd97c54bc4613f3537c5ec0aae263, all serial devices declare MULTIPORT feature. To allow 0.12 compatibility, we should clear this when max_nr_ports is 1. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/virtio-serial-bus.c')
-rw-r--r--hw/virtio-serial-bus.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index ab456ea396..d0e021932c 100644
--- a/hw/virtio-serial-bus.c
+++ b/hw/virtio-serial-bus.c
@@ -335,8 +335,10 @@ static void handle_input(VirtIODevice *vdev, VirtQueue *vq)
static uint32_t get_features(VirtIODevice *vdev, uint32_t features)
{
- features |= (1 << VIRTIO_CONSOLE_F_MULTIPORT);
-
+ VirtIOSerial *vser = DO_UPCAST(VirtIOSerial, vdev, vdev);
+ if (vser->bus->max_nr_ports > 1) {
+ features |= (1 << VIRTIO_CONSOLE_F_MULTIPORT);
+ }
return features;
}