summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorAmit Shah <amit.shah@redhat.com>2010-05-20 06:15:47 +0200
committerRusty Russell <rusty@rustcorp.com.au>2010-05-19 14:45:47 +0200
commiteaeff9608a8cf43a676b6f4b6235ea9d76192230 (patch)
tree256259307b5ea4d2985d998896b10b1194182aa6 /drivers/char
parentvirtio: console: Add a __send_control_msg() that can send messages without a ... (diff)
downloadlinux-eaeff9608a8cf43a676b6f4b6235ea9d76192230.tar.xz
linux-eaeff9608a8cf43a676b6f4b6235ea9d76192230.zip
virtio: console: Let host know of port or device add failures
The host may want to know and let management apps notify of port or device add failures. Send a control message saying the device or port is not ready in this case. Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/virtio_console.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 8c24b86aadc9..f63bf77a4825 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -1210,6 +1210,8 @@ free_cdev:
free_port:
kfree(port);
fail:
+ /* The host might want to notify management sw about port add failure */
+ send_control_msg(port, VIRTIO_CONSOLE_PORT_READY, 0);
return err;
}
@@ -1488,6 +1490,9 @@ free_chrdev:
free:
kfree(portdev);
fail:
+ /* The host might want to notify mgmt sw about device add failure */
+ __send_control_msg(portdev, VIRTIO_CONSOLE_BAD_ID,
+ VIRTIO_CONSOLE_DEVICE_READY, 0);
return err;
}