The host and guest currently enumerate ports independently. This can
lead to problems after several hot-plug/unplug operations and
migrations. The fix is to let the management software instantiate ports
at fixed locations and the host lets the guest know which 'id' to add a
new port to.
Since this is an intrusive change, and we don't want to support the
current ABI, disable multiport support for now and re-enable it for the
next merge window with the other changes.
Signed-off-by: Amit Shah <amit.shah at redhat.com>
---
drivers/char/virtio_console.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 44288ce..c51eb5e 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -1418,6 +1418,8 @@ static int __devinit virtcons_probe(struct virtio_device
*vdev)
multiport = false;
portdev->config.nr_ports = 1;
portdev->config.max_nr_ports = 1;
+#if 0
+ /* Multiport will be enabled after some design fixes */
if (virtio_has_feature(vdev, VIRTIO_CONSOLE_F_MULTIPORT)) {
multiport = true;
vdev->features[0] |= 1 << VIRTIO_CONSOLE_F_MULTIPORT;
@@ -1443,6 +1445,7 @@ static int __devinit virtcons_probe(struct virtio_device
*vdev)
/* Let the Host know we support multiple ports.*/
vdev->config->finalize_features(vdev);
+#endif
err = init_vqs(portdev);
if (err < 0) {
@@ -1525,7 +1528,6 @@ static struct virtio_device_id id_table[] = {
static unsigned int features[] = {
VIRTIO_CONSOLE_F_SIZE,
- VIRTIO_CONSOLE_F_MULTIPORT,
};
static struct virtio_driver virtio_console = {
--
1.6.2.5