aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/virtio_console.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 684b0d53764f..95cae778bd73 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -1763,8 +1763,11 @@ static void in_intr(struct virtqueue *vq)
1763 * tty is spawned) and the host sends out data to console 1763 * tty is spawned) and the host sends out data to console
1764 * ports. For generic serial ports, the host won't 1764 * ports. For generic serial ports, the host won't
1765 * (shouldn't) send data till the guest is connected. 1765 * (shouldn't) send data till the guest is connected.
1766 * However a remote device might send data before the port is
1767 * connected. So don't remove data from a rproc_serial device.
1766 */ 1768 */
1767 if (!port->guest_connected) 1769
1770 if (!port->guest_connected && !is_rproc_serial(port->portdev->vdev))
1768 discard_port_data(port); 1771 discard_port_data(port);
1769 1772
1770 spin_unlock_irqrestore(&port->inbuf_lock, flags); 1773 spin_unlock_irqrestore(&port->inbuf_lock, flags);