return MOXA_OTHER_UART;
 }
 
+static bool mxser_16550A_or_MUST(struct mxser_port *info)
+{
+       return info->type == PORT_16550A || info->board->must_hwid;
+}
+
 static void mxser_process_txrx_fifo(struct mxser_port *info)
 {
        unsigned int i;
                if (cts) {
                        tty->hw_stopped = 0;
 
-                       if (info->type != PORT_16550A &&
-                                       !info->board->must_hwid)
+                       if (!mxser_16550A_or_MUST(info))
                                __mxser_start_tx(info);
                        tty_wakeup(tty);
                }
                return;
 
        tty->hw_stopped = 1;
-       if (info->type != PORT_16550A && !info->board->must_hwid)
+       if (!mxser_16550A_or_MUST(info))
                __mxser_stop_tx(info);
 }
 
        tty_port_set_cts_flow(&info->port, cflag & CRTSCTS);
        if (cflag & CRTSCTS) {
                info->IER |= UART_IER_MSI;
-               if ((info->type == PORT_16550A) || (info->board->must_hwid)) {
+               if (mxser_16550A_or_MUST(info)) {
                        info->MCR |= UART_MCR_AFE;
                } else {
                        mxser_handle_cts(tty, info,
                total += c;
        }
 
-       if (info->xmit_cnt && !tty->flow.stopped) {
-               if (!tty->hw_stopped || info->type == PORT_16550A ||
-                               info->board->must_hwid)
+       if (info->xmit_cnt && !tty->flow.stopped)
+               if (!tty->hw_stopped || mxser_16550A_or_MUST(info))
                        mxser_start_tx(info);
-       }
+
        return total;
 }
 
        struct mxser_port *info = tty->driver_data;
 
        if (!info->xmit_cnt || tty->flow.stopped || !info->port.xmit_buf ||
-                       (tty->hw_stopped && info->type != PORT_16550A &&
-                        !info->board->must_hwid))
+                       (tty->hw_stopped && !mxser_16550A_or_MUST(info)))
                return;
 
        mxser_start_tx(info);
                return;
 
        if (!port->xmit_cnt || tty->flow.stopped ||
-                       (tty->hw_stopped &&
-                       (port->type != PORT_16550A) &&
-                       (!port->board->must_hwid))) {
+                       (tty->hw_stopped && !mxser_16550A_or_MUST(port))) {
                __mxser_stop_tx(port);
                return;
        }