serial: imx: Initialize lock for non-registered console
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 25 May 2020 10:59:52 +0000 (13:59 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 May 2020 08:55:35 +0000 (10:55 +0200)
The commit a3cb39d258ef
("serial: core: Allow detach and attach serial device for console")
changed a bit logic behind lock initialization since for most of the console
driver it's supposed to have lock already initialized even if console is not
enabled. However, it's not the case for Freescale IMX console.

Initialize lock explicitly in the ->probe().

Note, there is still an open question should or shouldn't not this driver
register console properly.

Fixes: a3cb39d258ef ("serial: core: Allow detach and attach serial device for console")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20200525105952.13744-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/imx.c

index 986d902..6b078e3 100644 (file)
@@ -2404,6 +2404,9 @@ static int imx_uart_probe(struct platform_device *pdev)
                }
        }
 
+       /* We need to initialize lock even for non-registered console */
+       spin_lock_init(&sport->port.lock);
+
        imx_uart_ports[sport->port.line] = sport;
 
        platform_set_drvdata(pdev, sport);