* 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;
        }
 
        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;
 
        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);
        }
        /* 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);