diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2013-01-09 10:12:14 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-17 16:43:20 -0800 |
commit | c803dd48f0539cb6adcbbcf41c758502e1e102cb (patch) | |
tree | b4d00deaf012755543025cd1a62ba87dc6daeda0 /drivers/staging/sb105x | |
parent | 8441bf5e063e03e5d307ffb32fd5f77e81c0d397 (diff) |
staging: sb105x: clean up interface type test
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>
Diffstat (limited to 'drivers/staging/sb105x')
-rw-r--r-- | drivers/staging/sb105x/sb_mp_register.h | 2 | ||||
-rw-r--r-- | drivers/staging/sb105x/sb_pci_mp.c | 14 |
2 files changed, 5 insertions, 11 deletions
diff --git a/drivers/staging/sb105x/sb_mp_register.h b/drivers/staging/sb105x/sb_mp_register.h index 5480ae11368f..a2087f5b0d1a 100644 --- a/drivers/staging/sb105x/sb_mp_register.h +++ b/drivers/staging/sb105x/sb_mp_register.h @@ -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 */ diff --git a/drivers/staging/sb105x/sb_pci_mp.c b/drivers/staging/sb105x/sb_pci_mp.c index c34ebff6bb04..3da44dff24bf 100644 --- a/drivers/staging/sb105x/sb_pci_mp.c +++ b/drivers/staging/sb105x/sb_pci_mp.c @@ -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; - } } } } |