From 4048c7c321d3029e8c41863a9f54dc39054c57ca Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Tue, 27 Apr 2010 18:04:03 +0530 Subject: [PATCH] virtio-serial: Propagate errors in initialising ports / devices in guest If adding of ports or devices in the guest fails we can send out a QMP event so that management software can deal with it. Signed-off-by: Amit Shah Signed-off-by: Anthony Liguori --- hw/virtio-serial-bus.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c index c77ea4feff..3a09f0d3c6 100644 --- a/hw/virtio-serial-bus.c +++ b/hw/virtio-serial-bus.c @@ -223,6 +223,11 @@ static void handle_control_message(VirtIOSerial *vser, void *buf) switch(cpkt.event) { case VIRTIO_CONSOLE_DEVICE_READY: + if (!cpkt.value) { + error_report("virtio-serial-bus: Guest failure in adding device %s\n", + vser->bus->qbus.name); + break; + } /* * The device is up, we can now tell the device about all the * ports we have here. @@ -233,6 +238,11 @@ static void handle_control_message(VirtIOSerial *vser, void *buf) break; case VIRTIO_CONSOLE_PORT_READY: + if (!cpkt.value) { + error_report("virtio-serial-bus: Guest failure in adding port %u for device %s\n", + port->id, vser->bus->qbus.name); + break; + } /* * Now that we know the guest asked for the port name, we're * sure the guest has initialised whatever state is necessary -- 2.11.0