synclink_gt.c (5604a98e2f95d6221852960a3363588f40d78e22) synclink_gt.c (807c8d81f4ec441241cafa3034c58df721fee869)
1/*
2 * Device driver for Microgate SyncLink GT serial adapters.
3 *
4 * written by Paul Fulghum for Microgate Corporation
5 * paulkf@microgate.com
6 *
7 * Microgate and SyncLink are trademarks of Microgate Corporation
8 *

--- 742 unchanged lines hidden (view full) ---

751
752 flush_buffer(tty);
753
754 mutex_lock(&info->port.mutex);
755 shutdown(info);
756
757 spin_lock_irqsave(&info->port.lock, flags);
758 info->port.count = 0;
1/*
2 * Device driver for Microgate SyncLink GT serial adapters.
3 *
4 * written by Paul Fulghum for Microgate Corporation
5 * paulkf@microgate.com
6 *
7 * Microgate and SyncLink are trademarks of Microgate Corporation
8 *

--- 742 unchanged lines hidden (view full) ---

751
752 flush_buffer(tty);
753
754 mutex_lock(&info->port.mutex);
755 shutdown(info);
756
757 spin_lock_irqsave(&info->port.lock, flags);
758 info->port.count = 0;
759 info->port.flags &= ~ASYNC_NORMAL_ACTIVE;
760 info->port.tty = NULL;
761 spin_unlock_irqrestore(&info->port.lock, flags);
759 info->port.tty = NULL;
760 spin_unlock_irqrestore(&info->port.lock, flags);
761 tty_port_set_active(&info->port, 0);
762 mutex_unlock(&info->port.mutex);
763
764 wake_up_interruptible(&info->port.open_wait);
765}
766
767static void set_termios(struct tty_struct *tty, struct ktermios *old_termios)
768{
769 struct slgt_info *info = tty->driver_data;

--- 2493 unchanged lines hidden (view full) ---

3263 unsigned long flags;
3264 int cd;
3265 struct tty_port *port = &info->port;
3266
3267 DBGINFO(("%s block_til_ready\n", tty->driver->name));
3268
3269 if (filp->f_flags & O_NONBLOCK || tty_io_error(tty)) {
3270 /* nonblock mode is set or port is not enabled */
762 mutex_unlock(&info->port.mutex);
763
764 wake_up_interruptible(&info->port.open_wait);
765}
766
767static void set_termios(struct tty_struct *tty, struct ktermios *old_termios)
768{
769 struct slgt_info *info = tty->driver_data;

--- 2493 unchanged lines hidden (view full) ---

3263 unsigned long flags;
3264 int cd;
3265 struct tty_port *port = &info->port;
3266
3267 DBGINFO(("%s block_til_ready\n", tty->driver->name));
3268
3269 if (filp->f_flags & O_NONBLOCK || tty_io_error(tty)) {
3270 /* nonblock mode is set or port is not enabled */
3271 port->flags |= ASYNC_NORMAL_ACTIVE;
3271 tty_port_set_active(port, 1);
3272 return 0;
3273 }
3274
3275 if (C_CLOCAL(tty))
3276 do_clocal = true;
3277
3278 /* Wait for carrier detect and the line to become
3279 * free (i.e., not in use by the callout). While we are in

--- 40 unchanged lines hidden (view full) ---

3320 set_current_state(TASK_RUNNING);
3321 remove_wait_queue(&port->open_wait, &wait);
3322
3323 if (!tty_hung_up_p(filp))
3324 port->count++;
3325 port->blocked_open--;
3326
3327 if (!retval)
3272 return 0;
3273 }
3274
3275 if (C_CLOCAL(tty))
3276 do_clocal = true;
3277
3278 /* Wait for carrier detect and the line to become
3279 * free (i.e., not in use by the callout). While we are in

--- 40 unchanged lines hidden (view full) ---

3320 set_current_state(TASK_RUNNING);
3321 remove_wait_queue(&port->open_wait, &wait);
3322
3323 if (!tty_hung_up_p(filp))
3324 port->count++;
3325 port->blocked_open--;
3326
3327 if (!retval)
3328 port->flags |= ASYNC_NORMAL_ACTIVE;
3328 tty_port_set_active(port, 1);
3329
3330 DBGINFO(("%s block_til_ready ready, rc=%d\n", tty->driver->name, retval));
3331 return retval;
3332}
3333
3334/*
3335 * allocate buffers used for calling line discipline receive_buf
3336 * directly in synchronous mode

--- 1820 unchanged lines hidden ---
3329
3330 DBGINFO(("%s block_til_ready ready, rc=%d\n", tty->driver->name, retval));
3331 return retval;
3332}
3333
3334/*
3335 * allocate buffers used for calling line discipline receive_buf
3336 * directly in synchronous mode

--- 1820 unchanged lines hidden ---