From: James S. <jsi...@us...> - 2001-11-06 21:56:08
|
Update of /cvsroot/linuxconsole/ruby/linux/include/linux In directory usw-pr-cvs1:/tmp/cvs-serv8141/include/linux Modified Files: serial_core.h Log Message: Serial updates. Better locking. Index: serial_core.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/include/linux/serial_core.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- serial_core.h 2001/11/01 21:39:45 1.7 +++ serial_core.h 2001/11/06 21:56:05 1.8 @@ -318,10 +318,12 @@ uart_handle_cts_change(struct uart_info *info, unsigned int status) { struct uart_port *port = info->port; + unsigned long flags; port->icount.cts++; if (info->flags & ASYNC_CTS_FLOW) { + spin_lock_irqsave(&info->lock, flags); if (info->tty->hw_stopped) { if (status) { info->tty->hw_stopped = 0; @@ -334,6 +336,7 @@ info->ops->stop_tx(port, 0); } } + spin_unlock_irqrestore(&info->lock, flags); } } |