diff options
author | Liu Xiang | 2020-10-30 21:43:11 +0800 |
---|---|---|
committer | Greg Kroah-Hartman | 2020-11-06 17:12:30 +0100 |
commit | 80f510f5fd078379b772f3b745c49e1db949bb43 (patch) | |
tree | c614de957e2f061876dd8157760d0588df968f3f /drivers/tty/serial | |
parent | cbd90e746148339ddbf6b980438b0adad990321e (diff) |
tty: serial: linflexuart: Remove unnecessary '|' operation and add error count
The '|' operation of status in linflex_rxint is unnecessary,
so it can be removed.
Signed-off-by: Liu Xiang <liuxiang_1999@126.com>
Link: https://lore.kernel.org/r/1604065391-3790-1-git-send-email-liuxiang_1999@126.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial')
-rw-r--r-- | drivers/tty/serial/fsl_linflexuart.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/tty/serial/fsl_linflexuart.c b/drivers/tty/serial/fsl_linflexuart.c index 3e28be402aef..d87048073abe 100644 --- a/drivers/tty/serial/fsl_linflexuart.c +++ b/drivers/tty/serial/fsl_linflexuart.c @@ -252,23 +252,22 @@ static irqreturn_t linflex_rxint(int irq, void *dev_id) flg = TTY_NORMAL; sport->icount.rx++; - if (status & (LINFLEXD_UARTSR_BOF | LINFLEXD_UARTSR_SZF | - LINFLEXD_UARTSR_FEF | LINFLEXD_UARTSR_PE)) { - if (status & LINFLEXD_UARTSR_SZF) - status |= LINFLEXD_UARTSR_SZF; + if (status & (LINFLEXD_UARTSR_BOF | LINFLEXD_UARTSR_FEF | + LINFLEXD_UARTSR_PE)) { if (status & LINFLEXD_UARTSR_BOF) - status |= LINFLEXD_UARTSR_BOF; + sport->icount.overrun++; if (status & LINFLEXD_UARTSR_FEF) { - if (!rx) + if (!rx) { brk = true; - status |= LINFLEXD_UARTSR_FEF; + sport->icount.brk++; + } else + sport->icount.frame++; } if (status & LINFLEXD_UARTSR_PE) - status |= LINFLEXD_UARTSR_PE; + sport->icount.parity++; } - writel(status | LINFLEXD_UARTSR_RMB | LINFLEXD_UARTSR_DRFRFE, - sport->membase + UARTSR); + writel(status, sport->membase + UARTSR); status = readl(sport->membase + UARTSR); if (brk) { |