Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b8c59a3 authored by Paul Mundt's avatar Paul Mundt
Browse files

serial: sh-sci: Support generic SCLSR overrun detection.



For all ports with a valid SCLSR register we can use the generic FIFO
overrun detection logic. Test the validity of the SCLSR register rather
than depending explicitly on port type, which can be ambiguous for the
SCIFA/B types.

Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 72b294cf
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -734,15 +734,11 @@ static int sci_handle_fifo_overrun(struct uart_port *port)
{
	struct tty_struct *tty = port->state->port.tty;
	struct sci_port *s = to_sci_port(port);
	struct plat_sci_reg *reg;
	int copied = 0;

	/*
	 * XXX: Technically not limited to non-SCIFs, it's simply the
	 * SCLSR check that is for the moment SCIF-specific. This
	 * probably wants to be revisited for SCIFA/B as well as for
	 * factoring in SCI overrun detection.
	 */
	if (port->type != PORT_SCIF)
	reg = sci_getreg(port, SCLSR);
	if (!reg->size)
		return 0;

	if ((sci_in(port, SCLSR) & (1 << s->cfg->overrun_bit))) {