From: Christoph Hellwig <hch@lst.de>
Date: Thu, 23 Apr 2015 11:04:24 +0000 (+0530)
Subject: megaraid_sas : swap whole register in megasas_register_aen
X-Git-Tag: firefly_0821_release~176^2~1604^2~129
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a9555534d52a058a6cc4bff51b51a790b6943eeb;p=firefly-linux-kernel-4.4.55.git

megaraid_sas : swap whole register in megasas_register_aen

Swap the whole 32 bits we read from the hardware instead of swapping
just the 16bits we care about in place later.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sumit Saxena <sumit.saxena@avagotech.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
---

diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index c4a5cb9e630a..1bc0c5af4f91 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -4942,8 +4942,8 @@ megasas_register_aen(struct megasas_instance *instance, u32 seq_num,
 
 	if (instance->aen_cmd) {
 
-		prev_aen.word = instance->aen_cmd->frame->dcmd.mbox.w[1];
-		prev_aen.members.locale = le16_to_cpu(prev_aen.members.locale);
+		prev_aen.word =
+			le32_to_cpu(instance->aen_cmd->frame->dcmd.mbox.w[1]);
 
 		/*
 		 * A class whose enum value is smaller is inclusive of all