diff options
Diffstat (limited to 'drivers/char/epca.c')
-rw-r--r-- | drivers/char/epca.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/char/epca.c b/drivers/char/epca.c index 456e4ede049f..cf2461d34e5f 100644 --- a/drivers/char/epca.c +++ b/drivers/char/epca.c | |||
@@ -1376,6 +1376,7 @@ static void post_fep_init(unsigned int crd) | |||
1376 | unsigned long flags; | 1376 | unsigned long flags; |
1377 | u16 tseg, rseg; | 1377 | u16 tseg, rseg; |
1378 | 1378 | ||
1379 | tty_port_init(&ch->port); | ||
1379 | ch->brdchan = bc; | 1380 | ch->brdchan = bc; |
1380 | ch->mailbox = gd; | 1381 | ch->mailbox = gd; |
1381 | INIT_WORK(&ch->tqueue, do_softint); | 1382 | INIT_WORK(&ch->tqueue, do_softint); |
@@ -1510,10 +1511,6 @@ static void post_fep_init(unsigned int crd) | |||
1510 | ch->fepstopca = 0; | 1511 | ch->fepstopca = 0; |
1511 | 1512 | ||
1512 | ch->close_delay = 50; | 1513 | ch->close_delay = 50; |
1513 | ch->port.count = 0; | ||
1514 | ch->port.blocked_open = 0; | ||
1515 | init_waitqueue_head(&ch->port.open_wait); | ||
1516 | init_waitqueue_head(&ch->port.close_wait); | ||
1517 | 1514 | ||
1518 | spin_unlock_irqrestore(&epca_lock, flags); | 1515 | spin_unlock_irqrestore(&epca_lock, flags); |
1519 | } | 1516 | } |
@@ -2480,7 +2477,11 @@ static int pc_send_break(struct tty_struct *tty, int msec) | |||
2480 | unsigned long flags; | 2477 | unsigned long flags; |
2481 | 2478 | ||
2482 | if (msec == -1) | 2479 | if (msec == -1) |
2483 | return -EOPNOTSUPP; | 2480 | msec = 0xFFFF; |
2481 | else if (msec > 0xFFFE) | ||
2482 | msec = 0xFFFE; | ||
2483 | else if (msec < 1) | ||
2484 | msec = 1; | ||
2484 | 2485 | ||
2485 | spin_lock_irqsave(&epca_lock, flags); | 2486 | spin_lock_irqsave(&epca_lock, flags); |
2486 | globalwinon(ch); | 2487 | globalwinon(ch); |