aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/mxser.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/mxser.c')
-rw-r--r--drivers/char/mxser.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
index 13f8871e5b21..52d953eb30c3 100644
--- a/drivers/char/mxser.c
+++ b/drivers/char/mxser.c
@@ -547,14 +547,18 @@ static int mxser_carrier_raised(struct tty_port *port)
547 return (inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD)?1:0; 547 return (inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD)?1:0;
548} 548}
549 549
550static void mxser_raise_dtr_rts(struct tty_port *port) 550static void mxser_dtr_rts(struct tty_port *port, int on)
551{ 551{
552 struct mxser_port *mp = container_of(port, struct mxser_port, port); 552 struct mxser_port *mp = container_of(port, struct mxser_port, port);
553 unsigned long flags; 553 unsigned long flags;
554 554
555 spin_lock_irqsave(&mp->slock, flags); 555 spin_lock_irqsave(&mp->slock, flags);
556 outb(inb(mp->ioaddr + UART_MCR) | 556 if (on)
557 UART_MCR_DTR | UART_MCR_RTS, mp->ioaddr + UART_MCR); 557 outb(inb(mp->ioaddr + UART_MCR) |
558 UART_MCR_DTR | UART_MCR_RTS, mp->ioaddr + UART_MCR);
559 else
560 outb(inb(mp->ioaddr + UART_MCR)&~(UART_MCR_DTR | UART_MCR_RTS),
561 mp->ioaddr + UART_MCR);
558 spin_unlock_irqrestore(&mp->slock, flags); 562 spin_unlock_irqrestore(&mp->slock, flags);
559} 563}
560 564
@@ -1044,8 +1048,6 @@ static int mxser_open(struct tty_struct *tty, struct file *filp)
1044 if (retval) 1048 if (retval)
1045 return retval; 1049 return retval;
1046 1050
1047 /* unmark here for very high baud rate (ex. 921600 bps) used */
1048 tty->low_latency = 1;
1049 return 0; 1051 return 0;
1050} 1052}
1051 1053
@@ -2356,7 +2358,7 @@ static const struct tty_operations mxser_ops = {
2356 2358
2357struct tty_port_operations mxser_port_ops = { 2359struct tty_port_operations mxser_port_ops = {
2358 .carrier_raised = mxser_carrier_raised, 2360 .carrier_raised = mxser_carrier_raised,
2359 .raise_dtr_rts = mxser_raise_dtr_rts, 2361 .dtr_rts = mxser_dtr_rts,
2360}; 2362};
2361 2363
2362/* 2364/*