Skip to content

Commit

Permalink
staging: sb105x: clean up interface type test
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Dan Carpenter authored and Greg Kroah-Hartman committed Jan 18, 2013
1 parent 8441bf5 commit c803dd4
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 11 deletions.
2 changes: 1 addition & 1 deletion drivers/staging/sb105x/sb_mp_register.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
#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 */
Expand Down
14 changes: 4 additions & 10 deletions drivers/staging/sb105x/sb_pci_mp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2851,18 +2851,12 @@ static void __init multi_init_ports(void)
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;
}
}
}
}
Expand Down

0 comments on commit c803dd4

Please sign in to comment.