2037 spin_lock_irqsave(&bp->lock, flags);
2038 sx_out(bp, CD186x_MSVR, port->MSVR);
2039 spin_unlock_irqrestore(&bp->lock, flags);
2040 spin_unlock_irqrestore(&port->lock, flags);
2041
2042 func_exit();
2043}
2044
2045
2046static void sx_stop(struct tty_struct *tty)
2047{
2048 struct specialix_port *port = (struct specialix_port *)tty->driver_data;
2049 struct specialix_board *bp;
2050 unsigned long flags;
2051
2052 func_enter();
2053
2054 if (sx_paranoia_check(port, tty->name, "sx_stop")) {
2055 func_exit();
2056 return;
2057 }
2058
2059 bp = port_Board(port);
2060
2061 spin_lock_irqsave(&port->lock, flags);
2062 port->IER &= ~IER_TXRDY;
2063 spin_lock_irqsave(&bp->lock, flags);
2064 sx_out(bp, CD186x_CAR, port_No(port));
2065 sx_out(bp, CD186x_IER, port->IER);
2066 spin_unlock_irqrestore(&bp->lock, flags);
2067 spin_unlock_irqrestore(&port->lock, flags);
2068
2069 func_exit();
2070}
2071
2072
2073static void sx_start(struct tty_struct *tty)
2074{
2075 struct specialix_port *port = (struct specialix_port *)tty->driver_data;
2076 struct specialix_board *bp;
2077 unsigned long flags;