megaraid_sas : swap whole register in megasas_register_aen
authorChristoph Hellwig <hch@lst.de>
Thu, 23 Apr 2015 11:04:24 +0000 (16:34 +0530)
committerJames Bottomley <JBottomley@Odin.com>
Mon, 25 May 2015 15:46:31 +0000 (08:46 -0700)
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>
drivers/scsi/megaraid/megaraid_sas_base.c

index c4a5cb9e630a4d1980541dc468c9ec5ff42a747f..1bc0c5af4f91b23d6859bb4e61cfa36ff98f1dfa 100644 (file)
@@ -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