Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3993a862 authored by Sumit.Saxena@lsi.com's avatar Sumit.Saxena@lsi.com Committed by James Bottomley
Browse files

[SCSI] megaraid_sas: fixes for few endianess issues



Fixed two issues in this patch-
1) In function megasas_get_pd_list(), data read(pd_addr->deviceId) from DMAed memory is converted to CPU's endianess.
2) While register AEN, removed some endianness conversion on some fields, since their endianess is already converted.

Signed-off-by: default avatarSumit Saxena <sumit.saxena@lsi.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent eeceec90
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -3199,11 +3199,11 @@ megasas_get_pd_list(struct megasas_instance *instance)

		for (pd_index = 0; pd_index < le32_to_cpu(ci->count); pd_index++) {

			instance->pd_list[pd_addr->deviceId].tid	=
			instance->pd_list[le16_to_cpu(pd_addr->deviceId)].tid	=
				le16_to_cpu(pd_addr->deviceId);
			instance->pd_list[pd_addr->deviceId].driveType	=
			instance->pd_list[le16_to_cpu(pd_addr->deviceId)].driveType	=
							pd_addr->scsiDevType;
			instance->pd_list[pd_addr->deviceId].driveState	=
			instance->pd_list[le16_to_cpu(pd_addr->deviceId)].driveState	=
							MR_PD_STATE_SYSTEM;
			pd_addr++;
		}
@@ -3998,7 +3998,7 @@ megasas_register_aen(struct megasas_instance *instance, u32 seq_num,
		 * values
		 */
		if ((prev_aen.members.class <= curr_aen.members.class) &&
		    !((le16_to_cpu(prev_aen.members.locale) & curr_aen.members.locale) ^
		    !((prev_aen.members.locale & curr_aen.members.locale) ^
		      curr_aen.members.locale)) {
			/*
			 * Previously issued event registration includes
@@ -4006,7 +4006,7 @@ megasas_register_aen(struct megasas_instance *instance, u32 seq_num,
			 */
			return 0;
		} else {
			curr_aen.members.locale |= le16_to_cpu(prev_aen.members.locale);
			curr_aen.members.locale |= prev_aen.members.locale;

			if (prev_aen.members.class < curr_aen.members.class)
				curr_aen.members.class = prev_aen.members.class;
@@ -4097,7 +4097,7 @@ static int megasas_start_aen(struct megasas_instance *instance)
	class_locale.members.class = MR_EVT_CLASS_DEBUG;

	return megasas_register_aen(instance,
			le32_to_cpu(eli.newest_seq_num) + 1,
			eli.newest_seq_num + 1,
			class_locale.word);
}