mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
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>
This commit is contained in:
parent
3425e706bf
commit
eaeff9608a
@ -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;
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,8 @@
|
||||
#define VIRTIO_CONSOLE_F_SIZE 0 /* Does host provide console size? */
|
||||
#define VIRTIO_CONSOLE_F_MULTIPORT 1 /* Does host provide multiple ports? */
|
||||
|
||||
#define VIRTIO_CONSOLE_BAD_ID (~(u32)0)
|
||||
|
||||
struct virtio_console_config {
|
||||
/* colums of the screens */
|
||||
__u16 cols;
|
||||
@ -42,6 +44,7 @@ struct virtio_console_control {
|
||||
#define VIRTIO_CONSOLE_PORT_OPEN 3
|
||||
#define VIRTIO_CONSOLE_PORT_NAME 4
|
||||
#define VIRTIO_CONSOLE_PORT_REMOVE 5
|
||||
#define VIRTIO_CONSOLE_DEVICE_READY 6
|
||||
|
||||
#ifdef __KERNEL__
|
||||
int __init virtio_cons_early_init(int (*put_chars)(u32, const char *, int));
|
||||
|
Loading…
Reference in New Issue
Block a user