| From 034eea57a1b3be364be1c53ef31800d7448998f6 Mon Sep 17 00:00:00 2001 |
| From: Pankaj Gupta <pagupta@redhat.com> |
| Date: Tue, 19 Mar 2019 11:34:06 +0530 |
| Subject: virtio_console: initialize vtermno value for ports |
| |
| [ Upstream commit 4b0a2c5ff7215206ea6135a405f17c5f6fca7d00 ] |
| |
| For regular serial ports we do not initialize value of vtermno |
| variable. A garbage value is assigned for non console ports. |
| The value can be observed as a random integer with [1]. |
| |
| [1] vim /sys/kernel/debug/virtio-ports/vport*p* |
| |
| This patch initialize the value of vtermno for console serial |
| ports to '1' and regular serial ports are initiaized to '0'. |
| |
| Reported-by: siliu@redhat.com |
| Signed-off-by: Pankaj Gupta <pagupta@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/char/virtio_console.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c |
| index fbeb71953526a..05dbfdb9f4aff 100644 |
| --- a/drivers/char/virtio_console.c |
| +++ b/drivers/char/virtio_console.c |
| @@ -75,7 +75,7 @@ struct ports_driver_data { |
| /* All the console devices handled by this driver */ |
| struct list_head consoles; |
| }; |
| -static struct ports_driver_data pdrvdata; |
| +static struct ports_driver_data pdrvdata = { .next_vtermno = 1}; |
| |
| static DEFINE_SPINLOCK(pdrvdata_lock); |
| static DECLARE_COMPLETION(early_console_added); |
| @@ -1394,6 +1394,7 @@ static int add_port(struct ports_device *portdev, u32 id) |
| port->async_queue = NULL; |
| |
| port->cons.ws.ws_row = port->cons.ws.ws_col = 0; |
| + port->cons.vtermno = 0; |
| |
| port->host_connected = port->guest_connected = false; |
| port->stats = (struct port_stats) { 0 }; |
| -- |
| 2.20.1 |
| |