On (Thu) 17 Jan 2013 [13:22:42], [email protected] wrote:
> From: Sjur Brændeland <[email protected]>
>
> 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: Sjur Brændeland <[email protected]>
> ---
>
> This patch is intended for v3.9.
>
> Thanks,
> Sjur
>
> drivers/char/virtio_console.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
> index ee4dbea..c17b053 100644
> --- a/drivers/char/virtio_console.c
> +++ b/drivers/char/virtio_console.c
> @@ -1763,8 +1763,11 @@ static void in_intr(struct virtqueue *vq)
> * tty is spawned) and the host sends out data to console
> * ports. For generic serial ports, the host won't
> * (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);
How about setting port->guest_connected = true in the init routines
instead? Keeps this code path cleaner.
That's what console ports do as well, in init_port_console().
Amit
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization