提交 afa2689e 编写于 作者: A Amit Shah 提交者: Rusty Russell

virtio: console: Enable call to hvc_remove() on console port remove

This call was disabled as hot-unplugging one virtconsole port led to
another virtconsole port freezing.

Upon testing it again, this now works, so enable it.

In addition, a bug was found in qemu wherein removing a port of one type
caused the guest output from another port to stop working.  I doubt it
was just this bug that caused it (since disabling the hvc_remove() call
did allow other ports to continue working), but since it's all solved
now, we're fine with hot-unplugging of virtconsole ports.
Signed-off-by: NAmit Shah <amit.shah@redhat.com>
Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
上级 31a3ddda
...@@ -1280,18 +1280,7 @@ static void unplug_port(struct port *port) ...@@ -1280,18 +1280,7 @@ static void unplug_port(struct port *port)
spin_lock_irq(&pdrvdata_lock); spin_lock_irq(&pdrvdata_lock);
list_del(&port->cons.list); list_del(&port->cons.list);
spin_unlock_irq(&pdrvdata_lock); spin_unlock_irq(&pdrvdata_lock);
#if 0
/*
* hvc_remove() not called as removing one hvc port
* results in other hvc ports getting frozen.
*
* Once this is resolved in hvc, this functionality
* will be enabled. Till that is done, the -EPIPE
* return from get_chars() above will help
* hvc_console.c to clean up on ports we remove here.
*/
hvc_remove(port->cons.hvc); hvc_remove(port->cons.hvc);
#endif
} }
/* Remove unused data this port might have received. */ /* Remove unused data this port might have received. */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册