From: Ching Huang <ching2048@xxxxxxxxxxxx> redefine ACB_ADAPTER_TYPE_A, _B, _C, _D and subsequent changes. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> --- diff -uprN a/drivers/scsi/arcmsr/arcmsr.h b/drivers/scsi/arcmsr/arcmsr.h --- a/drivers/scsi/arcmsr/arcmsr.h 2017-07-31 11:50:44.000000000 +0800 +++ b/drivers/scsi/arcmsr/arcmsr.h 2017-08-03 18:54:46.000000000 +0800 @@ -621,10 +621,10 @@ struct MessageUnit_D { struct AdapterControlBlock { uint32_t adapter_type; /* adapter A,B..... */ - #define ACB_ADAPTER_TYPE_A 0x00000001 /* hba I IOP */ - #define ACB_ADAPTER_TYPE_B 0x00000002 /* hbb M IOP */ - #define ACB_ADAPTER_TYPE_C 0x00000004 /* hbc P IOP */ - #define ACB_ADAPTER_TYPE_D 0x00000008 /* hbd A IOP */ + #define ACB_ADAPTER_TYPE_A 0x00000000 /* hba I IOP */ + #define ACB_ADAPTER_TYPE_B 0x00000001 /* hbb M IOP */ + #define ACB_ADAPTER_TYPE_C 0x00000002 /* hbc L IOP */ + #define ACB_ADAPTER_TYPE_D 0x00000003 /* hbd M IOP */ u32 roundup_ccbsize; struct pci_dev * pdev; struct Scsi_Host * host; diff -uprN a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c --- a/drivers/scsi/arcmsr/arcmsr_hba.c 2017-07-31 11:50:16.000000000 +0800 +++ b/drivers/scsi/arcmsr/arcmsr_hba.c 2017-11-08 18:46:42.000000000 +0800 @@ -1789,7 +1789,7 @@ arcmsr_Read_iop_rqbuffer_data(struct Ada uint8_t __iomem *iop_data; uint32_t iop_len; - if (acb->adapter_type & (ACB_ADAPTER_TYPE_C | ACB_ADAPTER_TYPE_D)) + if (acb->adapter_type > ACB_ADAPTER_TYPE_B) return arcmsr_Read_iop_rqbuffer_in_DWORD(acb, prbuffer); iop_data = (uint8_t __iomem *)prbuffer->data; iop_len = readl(&prbuffer->data_len); @@ -1875,7 +1875,7 @@ arcmsr_write_ioctldata2iop(struct Adapte uint8_t __iomem *iop_data; int32_t allxfer_len = 0; - if (acb->adapter_type & (ACB_ADAPTER_TYPE_C | ACB_ADAPTER_TYPE_D)) { + if (acb->adapter_type > ACB_ADAPTER_TYPE_B) { arcmsr_write_ioctldata2iop_in_DWORD(acb); return; }