ipack/devices/ipoctal: setup TTY_NORMAL flag for each character.
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>
Mon, 10 Dec 2012 10:50:01 +0000 (11:50 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Jan 2013 02:24:38 +0000 (18:24 -0800)
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>
drivers/ipack/devices/ipoctal.c

index 18f9cf1..850f105 100644 (file)
@@ -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);