>-----Original Message----- >From: Christoph Hellwig [mailto:hch@xxxxxxxxxxxxx] >Sent: Thursday, January 08, 2015 4:09 PM >To: Sumit.Saxena@xxxxxxxxxxxxx >Cc: linux-scsi@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx; >martin.petersen@xxxxxxxxxx; hch@xxxxxxxxxxxxx; >jbottomley@xxxxxxxxxxxxx; kashyap.desai@xxxxxxxxxxxxx >Subject: Re: [PATCH 1/8] megaraid_sas : Endianness related bug fixes and >code optimization > >> -#if defined(__BIG_ENDIAN_BITFIELD) >> - u32 MessageAddress1:24; /* bits 31:8*/ >> - u32 RequestFlags:8; >> -#else >> u32 RequestFlags:8; >> - u32 MessageAddress1:24; /* bits 31:8*/ >> -#endif >> - u32 MessageAddress2; /* bits 61:32 */ >> + u32 MessageAddress1:24; >> + u32 MessageAddress2; > >Doesn't this break architectures that set __BIG_ENDIAN_BITFIELD? Earlier code create the req_desc in machine format and later we convert it into LE format (as FW wants the data In LE format). Now with this change we just simplify code, which will first convert req_desc to LE format and set the MessageAddres1 and RequestFlags in LE format. Eventually this will pass same address/flag frame as earlier code does, but giving some readability. We have tested this on PPC and this works fine. Actually, this MFA frame will be fired only at driver load time(for firmware initialization), so if this setting is not appropriate FW init will fail. We do not refer MFIAIo anywhere else. Thanks, Sumit -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html