| From 099506cbbc79c0bd52b19cb6b930f256dabc3950 Mon Sep 17 00:00:00 2001 |
| From: "George G. Davis" <george_davis@mentor.com> |
| Date: Tue, 14 May 2019 23:29:34 -0400 |
| Subject: serial: sh-sci: disable DMA for uart_console |
| |
| From: George G. Davis <george_davis@mentor.com> |
| |
| commit 099506cbbc79c0bd52b19cb6b930f256dabc3950 upstream. |
| |
| As noted in commit 84b40e3b57ee ("serial: 8250: omap: Disable DMA for |
| console UART"), UART console lines use low-level PIO only access functions |
| which will conflict with use of the line when DMA is enabled, e.g. when |
| the console line is also used for systemd messages. So disable DMA |
| support for UART console lines. |
| |
| Reported-by: Michael Rodin <mrodin@de.adit-jv.com> |
| Link: https://patchwork.kernel.org/patch/10929511/ |
| Tested-by: Eugeniu Rosca <erosca@de.adit-jv.com> |
| Reviewed-by: Simon Horman <horms+renesas@verge.net.au> |
| Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: George G. Davis <george_davis@mentor.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/tty/serial/sh-sci.c | 7 +++++++ |
| 1 file changed, 7 insertions(+) |
| |
| --- a/drivers/tty/serial/sh-sci.c |
| +++ b/drivers/tty/serial/sh-sci.c |
| @@ -1542,6 +1542,13 @@ static void sci_request_dma(struct uart_ |
| |
| dev_dbg(port->dev, "%s: port %d\n", __func__, port->line); |
| |
| + /* |
| + * DMA on console may interfere with Kernel log messages which use |
| + * plain putchar(). So, simply don't use it with a console. |
| + */ |
| + if (uart_console(port)) |
| + return; |
| + |
| if (!port->dev->of_node) |
| return; |
| |