summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>2012-12-10 10:50:01 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-16 02:24:38 (GMT)
commitb5071f2cd89bfd88cc3c3a820cbb9e7d7d9b5c92 (patch)
tree38d7a9dd5ffbf4a554751fded8bac818f62b4cd5
parenta1da13a67afa45cf996ae9325030dd86c26573fc (diff)
downloadlinux-b5071f2cd89bfd88cc3c3a820cbb9e7d7d9b5c92.tar.xz
ipack/devices/ipoctal: setup TTY_NORMAL flag for each character.
In case of several characters present in RxFIFO, they will have the flag of the previous one, no matter if the actual character was received properly or not. This patch fixes this bug. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/ipack/devices/ipoctal.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ipack/devices/ipoctal.c b/drivers/ipack/devices/ipoctal.c
index 18f9cf1..850f105 100644
--- a/drivers/ipack/devices/ipoctal.c
+++ b/drivers/ipack/devices/ipoctal.c
@@ -121,11 +121,12 @@ static void ipoctal_irq_rx(struct ipoctal_channel *channel,
struct tty_struct *tty, u8 sr)
{
unsigned char value;
- unsigned char flag = TTY_NORMAL;
+ unsigned char flag;
u8 isr;
do {
value = ioread8(&channel->regs->r.rhr);
+ flag = TTY_NORMAL;
/* Error: count statistics */
if (sr & SR_ERROR) {
iowrite8(CR_CMD_RESET_ERR_STATUS, &channel->regs->w.cr);