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: Amit Shah <amit.shah@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
@@ -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. */
|
||||||
|
Reference in New Issue
Block a user