serial: 8250_mtk: Fix register address for XON/XOFF character
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Wed, 27 Apr 2022 13:23:28 +0000 (15:23 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 May 2022 20:59:10 +0000 (22:59 +0200)
The XON1/XOFF1 character registers are at offset 0xa0 and 0xa8
respectively, so we cannot use the definition in serial_port.h.

Fixes: bdbd0a7f8f03 ("serial: 8250-mtk: modify baudrate setting")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220427132328.228297-4-angelogioacchino.delregno@collabora.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_mtk.c

index 28e3645..21053db 100644 (file)
@@ -57,6 +57,9 @@
 #define MTK_UART_FEATURE_SEL   39      /* Feature Selection register */
 #define MTK_UART_FEAT_NEWRMAP  BIT(0)  /* Use new register map */
 
+#define MTK_UART_XON1          40      /* I/O: Xon character 1 */
+#define MTK_UART_XOFF1         42      /* I/O: Xoff character 1 */
+
 #ifdef CONFIG_SERIAL_8250_DMA
 enum dma_rx_status {
        DMA_RX_START = 0,
@@ -278,8 +281,8 @@ static void mtk8250_set_flow_ctrl(struct uart_8250_port *up, int mode)
                        (serial_in(up, MTK_UART_EFR) &
                        (~(MTK_UART_EFR_HW_FC | MTK_UART_EFR_SW_FC_MASK))));
 
-               serial_out(up, UART_XON1, START_CHAR(port->state->port.tty));
-               serial_out(up, UART_XOFF1, STOP_CHAR(port->state->port.tty));
+               serial_out(up, MTK_UART_XON1, START_CHAR(port->state->port.tty));
+               serial_out(up, MTK_UART_XOFF1, STOP_CHAR(port->state->port.tty));
                serial_out(up, UART_LCR, lcr);
                mtk8250_disable_intrs(up, MTK_UART_IER_CTSI|MTK_UART_IER_RTSI);
                mtk8250_enable_intrs(up, MTK_UART_IER_XOFFI);