diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2015-04-30 19:21:33 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-05-10 20:06:39 +0300 |
commit | afd66db6138989b54c1f7d3c688551b70482133a (patch) | |
tree | df28fc954959b302fdca265487420d62a8701ebc /drivers/tty/serial/sh-sci.c | |
parent | 2e0842a154f63ae222ececd6b6b1db4c75426516 (diff) | |
download | linux-afd66db6138989b54c1f7d3c688551b70482133a.tar.xz |
serial: sh-sci: Don't set SCLSR bits in the SCxSR error mask
error_mask is the union of all error indicating bits in the SCxSR
register, while overrun_mask may apply to a different register (SCLSR),
depending on the SCI variant.
Hence overrun_mask should only be ORed into error_mask if it applies to
the SCxSR register.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/sh-sci.c')
-rw-r--r-- | drivers/tty/serial/sh-sci.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index b636c53a1e5b..c3e884dd925f 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -2323,7 +2323,8 @@ static int sci_init_single(struct platform_device *dev, * Make the error mask inclusive of overrun detection, if * supported. */ - sci_port->error_mask |= sci_port->overrun_mask; + if (sci_port->overrun_reg == SCxSR) + sci_port->error_mask |= sci_port->overrun_mask; port->type = p->type; port->flags = UPF_FIXED_PORT | p->flags; |