diff options
-rw-r--r-- | drivers/char/mxser_new.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/char/mxser_new.c b/drivers/char/mxser_new.c index 71381f955567..c87bda388892 100644 --- a/drivers/char/mxser_new.c +++ b/drivers/char/mxser_new.c @@ -461,7 +461,8 @@ static int mxser_block_til_ready(struct tty_struct *tty, struct file *filp, * 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))) { + if ((filp->f_flags & O_NONBLOCK) || + test_bit(TTY_IO_ERROR, &tty->flags)) { port->flags |= ASYNC_NORMAL_ACTIVE; return 0; } @@ -1437,7 +1438,7 @@ static int mxser_tiocmget(struct tty_struct *tty, struct file *file) if (tty->index == MXSER_PORTS) return -ENOIOCTLCMD; - if (tty->flags & (1 << TTY_IO_ERROR)) + if (test_bit(TTY_IO_ERROR, &tty->flags)) return -EIO; control = info->MCR; @@ -1464,7 +1465,7 @@ static int mxser_tiocmset(struct tty_struct *tty, struct file *file, if (tty->index == MXSER_PORTS) return -ENOIOCTLCMD; - if (tty->flags & (1 << TTY_IO_ERROR)) + if (test_bit(TTY_IO_ERROR, &tty->flags)) return -EIO; spin_lock_irqsave(&info->slock, flags); @@ -1798,10 +1799,10 @@ static int mxser_ioctl(struct tty_struct *tty, struct file *file, } /* above add by Victor Yu. 01-05-2004 */ - if ((cmd != TIOCGSERIAL) && (cmd != TIOCMIWAIT) && (cmd != TIOCGICOUNT)) { - if (tty->flags & (1 << TTY_IO_ERROR)) - return -EIO; - } + if (cmd != TIOCGSERIAL && cmd != TIOCMIWAIT && cmd != TIOCGICOUNT && + test_bit(TTY_IO_ERROR, &tty->flags)) + return -EIO; + switch (cmd) { case TCSBRK: /* SVID version: non-zero arg --> no break */ retval = tty_check_change(tty); |