Bug 198889

Summary: imx6: DMA transaction errors on serial ports
Product: Drivers Reporter: Koen Vandeputte (koen.vandeputte)
Component: SerialAssignee: Russell King (rmk)
Status: NEW ---    
Severity: normal CC: cengizc
Priority: P1    
Hardware: ARM   
OS: Linux   
Kernel Version: 4.14.20 Subsystem:
Regression: No Bisected commit-id:
Attachments: Full Bootlog

Description Koen Vandeputte 2018-02-22 16:30:05 UTC
Created attachment 274363 [details]
Full Bootlog

Using a Gateworks Ventana board, powered by an i.MX6 board,
following errors were notice upon boot:


[   22.617622] imx-uart 2020000.serial: DMA transaction error.
[   22.623228] imx-uart 2020000.serial: DMA transaction error.
[   22.628826] imx-uart 2020000.serial: DMA transaction error.
[   22.632611] A link change request failed with some changes committed already. Interface wlan0 may have been left with an inconsistent configuration, please check.
[   22.648951] imx-uart 2020000.serial: DMA transaction error.
[   22.654558] imx-uart 2020000.serial: DMA transaction error.
[   22.660156] imx-uart 2020000.serial: DMA transaction error.


within OpenWrt, we are circumventing the errors currently by disabling DMA on UART:


--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -1268,10 +1268,6 @@ static int imx_startup(struct uart_port
 
 	writel(temp & ~UCR4_DREN, sport->port.membase + UCR4);
 
-	/* Can we enable the DMA support? */
-	if (!uart_console(port) && !sport->dma_is_inited)
-		imx_uart_dma_init(sport);
-
 	spin_lock_irqsave(&sport->port.lock, flags);
 	/* Reset fifo's and state machines */
 	i = 100;


Full bootlog attached.

This issue has been present since at least kernel 4.9