Re: [PATCH] Bugfix RTS line config in RS485 mode is overwritten in pl011_set_mctrl() function.

From: Jochen Mades
Date: Thu Jan 13 2022 - 05:12:23 EST


Hi Lukas,

> Patch is correct, but commit message could be improved:
>
> * Subject should be in imperative mood (by convention), it should be
> prepended by "serial: pl011: " (in line with previous commits touching
> this driver, use "git log --oneline amba-pl011.c") and the trailing dot
> is unnecessary, e.g.:
>
> "serial: pl011: Fix incorrect rs485 RTS polarity on set_mctrl"
>
> * Commit message should be wrapped at 72 characters (so that it appears
> centered when displayed with "git log" on an 80 chars terminal).
> The reference to "0001-serial-amba-pl011-add-RS485-support.patch"
> should be replaced with a reference to the offending commit, e.g.:
>
> "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."
>
> Feel free to copy this to a v2 of your patch and amend as you see fit.
>

Find attached the patch with the new subject and corretced commit message.

> * Add tags for the offending commit:
>
> Fixes: 8d479237727c ("serial: amba-pl011: add RS485 support")
> Cc: stable@xxxxxxxxxxxxxxx # v5.15+
>
> * Be sure to cc the author of the offending commit.

Sorry I don't know how to do that correctly. Can you please give support/hints?


> Thanks,
>
> Lukas
>
> > ---
> > drivers/tty/serial/amba-pl011.c | 8 ++++++--
> > 1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
> > index 537f37ac4..1749c1498 100644
> > --- a/drivers/tty/serial/amba-pl011.c
> > +++ b/drivers/tty/serial/amba-pl011.c
> > @@ -1646,8 +1646,12 @@ static void pl011_set_mctrl(struct uart_port *port, unsigned int mctrl)
> > 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);

Attachment: 0001-serial-pl011-Fix-incorrect-rs485-RTS-polarity-on-set.patch
Description: Binary data