Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f74861ca authored by Peter Hurley's avatar Peter Hurley Committed by David S. Miller
Browse files

net/irda: Raise dtr in non-blocking open



DTR/RTS need to be raised, regardless of the open() mode, but not
if the port has already shutdown.

Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0b176ce3
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -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;