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: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
0b176ce3a7
Коммит
f74861ca87
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче