From: Ching Huang <ching2048@areca.com.tw>
Date: Tue, 5 Dec 2017 09:28:04 +0800
Subject: [PATCH] scsi: arcmsr: Redefine ACB_ADAPTER_TYPE_A, _B, _C, _D
Git-commit: 52b4dab34afac2f51aef1f20d0560a91942cb8fe
Patch-mainline: v4.16-rc1
References: bsc#1118139
Redefine ACB_ADAPTER_TYPE_A, _B, _C, _D and subsequent changes.
Signed-off-by: Ching Huang <ching2048@areca.com.tw>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Hannes Reinecke <hare@suse.com>
---
drivers/scsi/arcmsr/arcmsr.h | 8 ++++----
drivers/scsi/arcmsr/arcmsr_hba.c | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/scsi/arcmsr/arcmsr.h b/drivers/scsi/arcmsr/arcmsr.h
index a254b32eba39..1ca8998239f9 100644
--- a/drivers/scsi/arcmsr/arcmsr.h
+++ b/drivers/scsi/arcmsr/arcmsr.h
@@ -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 --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c
index 21f6421536a0..172197a62481 100644
--- a/drivers/scsi/arcmsr/arcmsr_hba.c
+++ b/drivers/scsi/arcmsr/arcmsr_hba.c
@@ -1785,7 +1785,7 @@ arcmsr_Read_iop_rqbuffer_data(struct AdapterControlBlock *acb,
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);
@@ -1871,7 +1871,7 @@ arcmsr_write_ioctldata2iop(struct AdapterControlBlock *acb)
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;
}
--
2.12.3