aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/n_tty.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/n_tty.c')
-rw-r--r--drivers/tty/n_tty.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
index f95569dedc88..f44f1ba762c3 100644
--- a/drivers/tty/n_tty.c
+++ b/drivers/tty/n_tty.c
@@ -1214,15 +1214,16 @@ static void n_tty_receive_parity_error(struct tty_struct *tty, unsigned char c)
1214{ 1214{
1215 struct n_tty_data *ldata = tty->disc_data; 1215 struct n_tty_data *ldata = tty->disc_data;
1216 1216
1217 if (I_IGNPAR(tty)) 1217 if (I_INPCK(tty)) {
1218 return; 1218 if (I_IGNPAR(tty))
1219 if (I_PARMRK(tty)) { 1219 return;
1220 put_tty_queue('\377', ldata); 1220 if (I_PARMRK(tty)) {
1221 put_tty_queue('\0', ldata); 1221 put_tty_queue('\377', ldata);
1222 put_tty_queue(c, ldata); 1222 put_tty_queue('\0', ldata);
1223 } else if (I_INPCK(tty)) 1223 put_tty_queue(c, ldata);
1224 put_tty_queue('\0', ldata); 1224 } else
1225 else 1225 put_tty_queue('\0', ldata);
1226 } else
1226 put_tty_queue(c, ldata); 1227 put_tty_queue(c, ldata);
1227 if (waitqueue_active(&tty->read_wait)) 1228 if (waitqueue_active(&tty->read_wait))
1228 wake_up_interruptible(&tty->read_wait); 1229 wake_up_interruptible(&tty->read_wait);