Skip to content

Commit

Permalink
net/irda: Raise dtr in non-blocking open
Browse files Browse the repository at this point in the history
DTR/RTS need to be raised, regardless of the open() mode, but not
if the port has already shutdown.

Signed-off-by: Peter Hurley <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
peterhurley authored and davem330 committed Mar 6, 2013
1 parent 0b176ce commit f74861c
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions net/irda/ircomm/ircomm_tty.c
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,15 @@ static int ircomm_tty_block_til_ready(struct ircomm_tty_cb *self,
* If non-blocking mode is set, or the port is not enabled,
* then make the check up front and then exit.
*/
if (filp->f_flags & O_NONBLOCK || tty->flags & (1 << TTY_IO_ERROR)){
/* nonblock mode is set or port is not enabled */
if (test_bit(TTY_IO_ERROR, &tty->flags)) {
port->flags |= ASYNC_NORMAL_ACTIVE;
return 0;
}

if (filp->f_flags & O_NONBLOCK) {
/* nonblock mode is set */
if (tty->termios.c_cflag & CBAUD)
tty_port_raise_dtr_rts(port);
port->flags |= ASYNC_NORMAL_ACTIVE;
IRDA_DEBUG(1, "%s(), O_NONBLOCK requested!\n", __func__ );
return 0;
Expand Down

0 comments on commit f74861c

Please sign in to comment.