Messages in this thread | | | From | Ed Vance <> | Subject | RE: Linux-2.4.20 modem control | Date | Thu, 20 Mar 2003 16:45:03 -0800 |
| |
On Thu, Mar 20, 2003 at 2:14 PM, Richard B. Johnson wrote: > > [SNIPPED...] > > This patch works (no other promises). > > --- linux-2.4.20/drivers/char/serial.c.orig 2003-03-20 > 16:21:55.000000000 -0500 > +++ linux-2.4.20/drivers/char/serial.c 2003-03-20 > 16:31:23.000000000 -0500 > @@ -1538,8 +1538,12 @@ > serial_out(info, UART_LCR, serial_inp(info, UART_LCR) & > ~UART_LCR_SBC); > > if (!info->tty || (info->tty->termios->c_cflag & HUPCL)) > - info->MCR &= ~(UART_MCR_DTR|UART_MCR_RTS); > - serial_outp(info, UART_MCR, info->MCR); > + { > + serial_outp(info, UART_MCR,info->MCR & > ~(UART_MCR_DTR|UART_MCR_RTS)); > + set_current_state(TASK_INTERRUPTIBLE); > + schedule_timeout(HZ/2); /* > Disconnect modem */ > + } > + serial_outp(info, UART_MCR, info->MCR); /* Don't keep it off */ > > /* disable FIFO's */ > serial_outp(info, UART_FCR, (UART_FCR_ENABLE_FIFO | > Hi Richard,
I'm not sure it's a Good Thing(tm) to call schedule_timeout() with the interrupts disabled. The shutdown function is framed by save_flags();cli and restore_flags(). Don't know exactly what the downside of that could be.
Is the re-enable of DTR actually necessary to get agetty to work? DTR is supposed to stay off until the next open.
Still, if it works for you, it works.
Cheers, Ed
---------------------------------------------------------------- Ed Vance edv (at) macrolink (dot) com Macrolink, Inc. 1500 N. Kellogg Dr Anaheim, CA 92807 ---------------------------------------------------------------- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |