drivers/tty/serial/atmel_serial.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Ignore received characters when CREAD is cleared by adding RXRDY
to ignore_status_mask.
This replaces an existing TODO in the driver.
Tested on hardware.
Signed-off-by: Rakesh Alasyam <alasyamrakesh77@gmail.com>
---
v2:
- Add blank line before comment
- Tested on hardware
---
drivers/tty/serial/atmel_serial.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
index 5d8c1cfc1c60..5c756dc904b0 100644
--- a/drivers/tty/serial/atmel_serial.c
+++ b/drivers/tty/serial/atmel_serial.c
@@ -2184,7 +2184,8 @@ static void atmel_set_termios(struct uart_port *port,
if (termios->c_iflag & IGNPAR)
port->ignore_status_mask |= ATMEL_US_OVRE;
}
- /* TODO: Ignore all characters if CREAD is set.*/
+ if (!(termios->c_cflag & CREAD))
+ port->ignore_status_mask |= ATMEL_US_RXRDY;
/* update the per-port timeout */
uart_update_timeout(port, termios->c_cflag, baud);
--
2.43.0
Hi Rakesh, Le 11/05/2026 à 18:59, Rakesh Alasyam a écrit : > Ignore received characters when CREAD is cleared by adding RXRDY > to ignore_status_mask. > > This replaces an existing TODO in the driver. > > Tested on hardware. Could you be more precise? Which board(s) did you test with? (e.g. sama5d3_explained, custom...) Which SoC? (sam9g35, sama5d2...) With DMA, PDC or none? Regards, Richard > > Signed-off-by: Rakesh Alasyam <alasyamrakesh77@gmail.com> > > --- > > v2: > - Add blank line before comment > - Tested on hardware > --- > drivers/tty/serial/atmel_serial.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c > index 5d8c1cfc1c60..5c756dc904b0 100644 > --- a/drivers/tty/serial/atmel_serial.c > +++ b/drivers/tty/serial/atmel_serial.c > @@ -2184,7 +2184,8 @@ static void atmel_set_termios(struct uart_port *port, > if (termios->c_iflag & IGNPAR) > port->ignore_status_mask |= ATMEL_US_OVRE; > } > - /* TODO: Ignore all characters if CREAD is set.*/ > + if (!(termios->c_cflag & CREAD)) > + port->ignore_status_mask |= ATMEL_US_RXRDY; > > /* update the per-port timeout */ > uart_update_timeout(port, termios->c_cflag, baud);
© 2016 - 2026 Red Hat, Inc.