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 --- |