lkml.org 
[lkml]   [2022]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 065/200] serial: pl011: Fix incorrect rs485 RTS polarity on set_mctrl
    Date
    From: Jochen Mades <jochen@mades.net>

    commit 62f676ff7898f6c1bd26ce014564773a3dc00601 upstream.

    Commit 8d479237727c ("serial: amba-pl011: add RS485 support") sought to
    keep RTS deasserted on set_mctrl if rs485 is enabled. However it did so
    only if deasserted RTS polarity is high. Fix it in case it's low.

    Fixes: 8d479237727c ("serial: amba-pl011: add RS485 support")
    Cc: stable@vger.kernel.org # v5.15+
    Cc: Lino Sanfilippo <LinoSanfilippo@gmx.de>
    Signed-off-by: Jochen Mades <jochen@mades.net>
    [lukas: copyedit commit message, add stable designation]
    Signed-off-by: Lukas Wunner <lukas@wunner.de>
    Link: https://lore.kernel.org/r/85fa3323ba8c307943969b7343e23f34c3e652ba.1642909284.git.lukas@wunner.de
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/tty/serial/amba-pl011.c | 8 ++++++--
    1 file changed, 6 insertions(+), 2 deletions(-)

    --- a/drivers/tty/serial/amba-pl011.c
    +++ b/drivers/tty/serial/amba-pl011.c
    @@ -1615,8 +1615,12 @@ static void pl011_set_mctrl(struct uart_
    container_of(port, struct uart_amba_port, port);
    unsigned int cr;

    - if (port->rs485.flags & SER_RS485_ENABLED)
    - mctrl &= ~TIOCM_RTS;
    + if (port->rs485.flags & SER_RS485_ENABLED) {
    + if (port->rs485.flags & SER_RS485_RTS_AFTER_SEND)
    + mctrl &= ~TIOCM_RTS;
    + else
    + mctrl |= TIOCM_RTS;
    + }

    cr = pl011_read(uap, REG_CR);


    \
     
     \ /
      Last update: 2022-01-31 12:41    [W:3.274 / U:0.400 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site