From: Ching Huang <ching2...@areca.com.tw>

redefine ACB_ADAPTER_TYPE_A, _B, _C, _D and subsequent changes.

Signed-off-by: Ching Huang <ching2...@areca.com.tw>
---

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;
        }


Reply via email to