Commit 1f805187 authored by Sjur Brændeland's avatar Sjur Brændeland Committed by Rusty Russell

virtio_console: Let unconnected rproc device receive data.

Allow rproc serial ports to receive data before the port
is connected.

Rproc serial ports usually talk to very simple remote devices
with no control queue managing open/close events. So we must
let remote devices write to the virtio ring even if the device
is not yet fully initialized.
Signed-off-by: default avatarSjur Brændeland <sjur.brandeland@stericsson.com>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent 22636476
...@@ -1763,8 +1763,11 @@ static void in_intr(struct virtqueue *vq) ...@@ -1763,8 +1763,11 @@ static void in_intr(struct virtqueue *vq)
* tty is spawned) and the host sends out data to console * tty is spawned) and the host sends out data to console
* ports. For generic serial ports, the host won't * ports. For generic serial ports, the host won't
* (shouldn't) send data till the guest is connected. * (shouldn't) send data till the guest is connected.
* However a remote device might send data before the port is
* connected. So don't remove data from a rproc_serial device.
*/ */
if (!port->guest_connected)
if (!port->guest_connected && !is_rproc_serial(port->portdev->vdev))
discard_port_data(port); discard_port_data(port);
spin_unlock_irqrestore(&port->inbuf_lock, flags); spin_unlock_irqrestore(&port->inbuf_lock, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment