From mboxrd@z Thu Jan 1 00:00:00 1970 From: "George G. Davis" Subject: [PATCH v2] serial: sh-sci: disable DMA for uart_console Date: Mon, 13 May 2019 11:47:26 -0400 Message-ID: <1557762446-23811-1-git-send-email-george_davis@mentor.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Sender: linux-kernel-owner@vger.kernel.org To: Eugeniu Rosca , Geert Uytterhoeven , Simon Horman , Wolfram Sang , Greg Kroah-Hartman , Jiri Slaby , "open list:SERIAL DRIVERS" , open list Cc: Chris Brandt , Ulrich Hecht , Andy Lowe , Linux-Renesas , OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS , Magnus Damm , Rob Herring , Mark Rutland , "George G. Davis" , stable@vger.kernel.org List-Id: devicetree@vger.kernel.org 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. Fixes: https://patchwork.kernel.org/patch/10929511/ Reported-by: Michael Rodin Tested-by: Eugeniu Rosca Reviewed-by: Simon Horman Reviewed-by: Wolfram Sang Cc: stable@vger.kernel.org Signed-off-by: George G. Davis --- v2: Clarify comment regarding DMA support on kernel console, add {Tested,Reviewed}-by:, and Cc: linux-stable lines. --- drivers/tty/serial/sh-sci.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index 3cd139752d3f..abc705716aa0 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -1557,6 +1557,13 @@ static void sci_request_dma(struct uart_port *port) 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; -- 2.7.4