aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ipack
diff options
context:
space:
mode:
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>2012-12-10 05:50:01 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-15 21:24:38 -0500
commitb5071f2cd89bfd88cc3c3a820cbb9e7d7d9b5c92 (patch)
tree38d7a9dd5ffbf4a554751fded8bac818f62b4cd5 /drivers/ipack
parenta1da13a67afa45cf996ae9325030dd86c26573fc (diff)
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>
Diffstat (limited to 'drivers/ipack')
-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 18f9cf1ffe2b..850f10506a79 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,
121 struct tty_struct *tty, u8 sr) 121 struct tty_struct *tty, u8 sr)
122{ 122{
123 unsigned char value; 123 unsigned char value;
124 unsigned char flag = TTY_NORMAL; 124 unsigned char flag;
125 u8 isr; 125 u8 isr;
126 126
127 do { 127 do {
128 value = ioread8(&channel->regs->r.rhr); 128 value = ioread8(&channel->regs->r.rhr);
129 flag = TTY_NORMAL;
129 /* Error: count statistics */ 130 /* Error: count statistics */
130 if (sr & SR_ERROR) { 131 if (sr & SR_ERROR) {
131 iowrite8(CR_CMD_RESET_ERR_STATUS, &channel->regs->w.cr); 132 iowrite8(CR_CMD_RESET_ERR_STATUS, &channel->regs->w.cr);