diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-23 12:23:20 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-23 12:23:20 -0700 | 
| commit | 99dff5856220a02b8711f2e8746413ea6e53ccf6 (patch) | |
| tree | d8bae7ccdf8f7ad5221b053bb74a6220df996b3a /drivers/tty/moxa.c | |
| parent | bb74e8ca352eecefdc5c1a9ebab01f18aa2f6f3c (diff) | |
| parent | d9a0fbfd7bc5d2c42f0fa9bcbdab62c4942d0388 (diff) | |
| download | olio-linux-3.10-99dff5856220a02b8711f2e8746413ea6e53ccf6.tar.xz olio-linux-3.10-99dff5856220a02b8711f2e8746413ea6e53ccf6.zip  | |
Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
* 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (48 commits)
  serial: 8250_pci: add support for Cronyx Omega PCI multiserial board.
  tty/serial: Fix break handling for PORT_TEGRA
  tty/serial: Add explicit PORT_TEGRA type
  n_tracerouter and n_tracesink ldisc additions.
  Intel PTI implementaiton of MIPI 1149.7.
  Kernel documentation for the PTI feature.
  export kernel call get_task_comm().
  tty: Remove to support serial for S5P6442
  pch_phub: Support new device ML7223
  8250_pci: Add support for the Digi/IBM PCIe 2-port Adapter
  ASoC: Update cx20442 for TTY API change
  pch_uart: Support new device ML7223 IOH
  parport: Use request_muxed_region for IT87 probe and lock
  tty/serial: add support for Xilinx PS UART
  n_gsm: Use print_hex_dump_bytes
  drivers/tty/moxa.c: Put correct tty value
  TTY: tty_io, annotate locking functions
  TTY: serial_core, remove superfluous set_task_state
  TTY: serial_core, remove invalid test
  Char: moxa, fix locking in moxa_write
  ...
Fix up trivial conflicts in drivers/bluetooth/hci_ldisc.c and
drivers/tty/serial/Makefile.
I did the hci_ldisc thing as an evil merge, cleaning things up.
Diffstat (limited to 'drivers/tty/moxa.c')
| -rw-r--r-- | drivers/tty/moxa.c | 18 | 
1 files changed, 5 insertions, 13 deletions
diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c index 35b0c38590e..ba679ce0a77 100644 --- a/drivers/tty/moxa.c +++ b/drivers/tty/moxa.c @@ -371,7 +371,7 @@ static int moxa_ioctl(struct tty_struct *tty,  					tmp.cflag = p->cflag;  				else  					tmp.cflag = ttyp->termios->c_cflag; -				tty_kref_put(tty); +				tty_kref_put(ttyp);  copy:  				if (copy_to_user(argm, &tmp, sizeof(tmp)))  					return -EFAULT; @@ -1129,7 +1129,6 @@ static void moxa_shutdown(struct tty_port *port)  	struct moxa_port *ch = container_of(port, struct moxa_port, port);          MoxaPortDisable(ch);  	MoxaPortFlushData(ch, 2); -	clear_bit(ASYNCB_NORMAL_ACTIVE, &port->flags);  }  static int moxa_carrier_raised(struct tty_port *port) @@ -1155,7 +1154,6 @@ static int moxa_open(struct tty_struct *tty, struct file *filp)  	struct moxa_board_conf *brd;  	struct moxa_port *ch;  	int port; -	int retval;  	port = tty->index;  	if (port == MAX_PORTS) { @@ -1190,10 +1188,7 @@ static int moxa_open(struct tty_struct *tty, struct file *filp)  	mutex_unlock(&ch->port.mutex);  	mutex_unlock(&moxa_openlock); -	retval = tty_port_block_til_ready(&ch->port, tty, filp); -	if (retval == 0) -	        set_bit(ASYNCB_NORMAL_ACTIVE, &ch->port.flags); -	return retval; +	return tty_port_block_til_ready(&ch->port, tty, filp);  }  static void moxa_close(struct tty_struct *tty, struct file *filp) @@ -1207,14 +1202,15 @@ static int moxa_write(struct tty_struct *tty,  		      const unsigned char *buf, int count)  {  	struct moxa_port *ch = tty->driver_data; +	unsigned long flags;  	int len;  	if (ch == NULL)  		return 0; -	spin_lock_bh(&moxa_lock); +	spin_lock_irqsave(&moxa_lock, flags);  	len = MoxaPortWriteData(tty, buf, count); -	spin_unlock_bh(&moxa_lock); +	spin_unlock_irqrestore(&moxa_lock, flags);  	set_bit(LOWWAIT, &ch->statusflags);  	return len; @@ -1281,10 +1277,8 @@ static int moxa_tiocmset(struct tty_struct *tty,  			 unsigned int set, unsigned int clear)  {  	struct moxa_port *ch; -	int port;  	int dtr, rts; -	port = tty->index;  	mutex_lock(&moxa_openlock);  	ch = tty->driver_data;  	if (!ch) { @@ -1756,11 +1750,9 @@ static int MoxaPortSetTermio(struct moxa_port *port, struct ktermios *termio,  		speed_t baud)  {  	void __iomem *ofsAddr; -	tcflag_t cflag;  	tcflag_t mode = 0;  	ofsAddr = port->tableAddr; -	cflag = termio->c_cflag;	/* termio->c_cflag */  	mode = termio->c_cflag & CSIZE;  	if (mode == CS5)  |