Patch "serial: fsl_lpuart: disable DMA for console and fix sysrq" has been added to the 5.13-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    serial: fsl_lpuart: disable DMA for console and fix sysrq

to the 5.13-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     serial-fsl_lpuart-disable-dma-for-console-and-fix-sy.patch
and it can be found in the queue-5.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 5d7b3c9c48b8447853b3d550b664eb1cc075fb17
Author: Michael Walle <michael@xxxxxxxx>
Date:   Wed May 12 16:12:55 2021 +0200

    serial: fsl_lpuart: disable DMA for console and fix sysrq
    
    [ Upstream commit 8cac2f6eb8548245e6f8fb893fc7f2a714952654 ]
    
    SYSRQ doesn't work with DMA. This is because there is no error
    indication whether a symbol had a framing error or not. Actually,
    this is not completely correct, there is a bit in the data register
    which is set in this case, but we'd have to read change the DMA access
    to 16 bit and we'd need to post process the data, thus make the DMA
    pointless in the first place.
    
    Signed-off-by: Michael Walle <michael@xxxxxxxx>
    Link: https://lore.kernel.org/r/20210512141255.18277-10-michael@xxxxxxxx
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index 4cad2ac00e9f..0d7ea144a4a6 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -1571,6 +1571,9 @@ static void lpuart_tx_dma_startup(struct lpuart_port *sport)
 	u32 uartbaud;
 	int ret;
 
+	if (uart_console(&sport->port))
+		goto err;
+
 	if (!sport->dma_tx_chan)
 		goto err;
 
@@ -1600,6 +1603,9 @@ static void lpuart_rx_dma_startup(struct lpuart_port *sport)
 	int ret;
 	unsigned char cr3;
 
+	if (uart_console(&sport->port))
+		goto err;
+
 	if (!sport->dma_rx_chan)
 		goto err;
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux