aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/ipack
diff options
context:
space:
mode:
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>2012-12-10 11:50:01 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-15 18:24:38 -0800
commitb5071f2cd89bfd88cc3c3a820cbb9e7d7d9b5c92 (patch)
tree38d7a9dd5ffbf4a554751fded8bac818f62b4cd5 /drivers/ipack
parentipack/devices/ipoctal: remove wait_queue and atomic_t board_write (diff)
downloadwireguard-linux-b5071f2cd89bfd88cc3c3a820cbb9e7d7d9b5c92.tar.xz
wireguard-linux-b5071f2cd89bfd88cc3c3a820cbb9e7d7d9b5c92.zip
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,
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);