From: Shivasharan S <[email protected]>

commit b9d5e3e7f370a817c742fb089ac1a86dfe8947dc upstream.

MFI_BIG_ENDIAN macro used in drivers structure bitfield to check the CPU
big endianness is undefined which would break the code on big endian
machine. __BIG_ENDIAN_BITFIELD kernel macro should be used in places of
MFI_BIG_ENDIAN macro.

Link: 
https://lore.kernel.org/r/[email protected]
Fixes: a7faf81d7858 ("scsi: megaraid_sas: Set no_write_same only for Virtual 
Disk")
Cc: <[email protected]> # v5.6+
Signed-off-by: Shivasharan S <[email protected]>
Signed-off-by: Chandrakanth Patil <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/scsi/megaraid/megaraid_sas.h        |    4 ++--
 drivers/scsi/megaraid/megaraid_sas_fusion.h |    6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

--- a/drivers/scsi/megaraid/megaraid_sas.h
+++ b/drivers/scsi/megaraid/megaraid_sas.h
@@ -511,7 +511,7 @@ union MR_PROGRESS {
  */
 struct MR_PD_PROGRESS {
        struct {
-#ifndef MFI_BIG_ENDIAN
+#ifndef __BIG_ENDIAN_BITFIELD
                u32     rbld:1;
                u32     patrol:1;
                u32     clear:1;
@@ -537,7 +537,7 @@ struct MR_PD_PROGRESS {
        };
 
        struct {
-#ifndef MFI_BIG_ENDIAN
+#ifndef __BIG_ENDIAN_BITFIELD
                u32     rbld:1;
                u32     patrol:1;
                u32     clear:1;
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.h
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.h
@@ -774,7 +774,7 @@ struct MR_SPAN_BLOCK_INFO {
 struct MR_CPU_AFFINITY_MASK {
        union {
                struct {
-#ifndef MFI_BIG_ENDIAN
+#ifndef __BIG_ENDIAN_BITFIELD
                u8 hw_path:1;
                u8 cpu0:1;
                u8 cpu1:1;
@@ -866,7 +866,7 @@ struct MR_LD_RAID {
        __le16     seqNum;
 
 struct {
-#ifndef MFI_BIG_ENDIAN
+#ifndef __BIG_ENDIAN_BITFIELD
        u32 ldSyncRequired:1;
        u32 regTypeReqOnReadIsValid:1;
        u32 isEPD:1;
@@ -889,7 +889,7 @@ struct {
        /* 0x30 - 0x33, Logical block size for the LD */
        u32 logical_block_length;
        struct {
-#ifndef MFI_BIG_ENDIAN
+#ifndef __BIG_ENDIAN_BITFIELD
        /* 0x34, P_I_EXPONENT from READ CAPACITY 16 */
        u32 ld_pi_exp:4;
        /* 0x34, LOGICAL BLOCKS PER PHYSICAL


Reply via email to