IIR_RS232 is zero so "if (IIR_RS232 == (b_ret & IIR_RS232))" is always
true so RS232 was always chosen by default.  The test should be
"if (0 == (b_ret & 0x30)) { ".  The other tests should also be in that
format.
This does change how the code works...  If 0x30 is set then it now
defaults to RS232 instead of RS485.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 #define IIR_RS232              0x00            /* RS232 type */
 #define IIR_RS422              0x10            /* RS422 type */
 #define IIR_RS485              0x20            /* RS485 type */
-#define IIR_UNKNOWN            0x30            /* unknown type */
+#define IIR_TYPE_MASK          0x30
 
 /* Interrrupt Mask Register */
 #define MP_OPTR_IMR0           0x0C    /* port0 ~ port8 */
 
                                printk("IIR_RET = %x\n",b_ret);
                        }
 
-                       if(IIR_RS232 == (b_ret & IIR_RS232))
-                       {
-                               mtpt->interface = RS232;
-                       }
-                       if(IIR_RS422 == (b_ret & IIR_RS422))
-                       {
+                       /* default to RS232 */
+                       mtpt->interface = RS232;
+                       if (IIR_RS422 == (b_ret & IIR_TYPE_MASK))
                                mtpt->interface = RS422PTP;
-                       }
-                       if(IIR_RS485 == (b_ret & IIR_RS485))
-                       {
+                       if (IIR_RS485 == (b_ret & IIR_TYPE_MASK))
                                mtpt->interface = RS485NE;
-                       }
                }
        }
 }