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>
This commit is contained in:
Geert Uytterhoeven 2015-04-30 18:21:33 +02:00 committed by Greg Kroah-Hartman
parent 2e0842a154
commit afd66db613

View File

@ -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;