Blame SOURCES/0063-scsi-scsi-qla2xxx-Use-get-put_unaligned-where-approp.patch

3c6e85
From 0bc0a78cd7b22c81ddc6375166404589d50c8ce7 Mon Sep 17 00:00:00 2001
3c6e85
From: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Date: Thu, 1 Aug 2019 15:55:23 -0400
3c6e85
Subject: [PATCH 063/124] [scsi] scsi: qla2xxx: Use get/put_unaligned where
3c6e85
 appropriate
3c6e85
3c6e85
Message-id: <20190801155618.12650-64-hmadhani@redhat.com>
3c6e85
Patchwork-id: 267839
3c6e85
O-Subject: [RHEL 7.8 e-stor PATCH 063/118] scsi: qla2xxx: Use get/put_unaligned where appropriate
3c6e85
Bugzilla: 1729270
3c6e85
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
3c6e85
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
3c6e85
3c6e85
From: Bart Van Assche <bvanassche@acm.org>
3c6e85
3c6e85
Bugzilla 1729270
3c6e85
3c6e85
This patch makes the code easier to read but does not change any
3c6e85
functionality.
3c6e85
3c6e85
Cc: Himanshu Madhani <hmadhani@marvell.com>
3c6e85
Cc: Giridhar Malavali <gmalavali@marvell.com>
3c6e85
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
3c6e85
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
3c6e85
(cherry picked from commit 2c26348c4d090caeb308530ea893b37897e4a58d)
3c6e85
Signed-off-by: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Signed-off-by: Jan Stancek <jstancek@redhat.com>
3c6e85
---
3c6e85
 drivers/scsi/qla2xxx/qla_bsg.c  |  2 +-
3c6e85
 drivers/scsi/qla2xxx/qla_iocb.c | 21 +++++++++------------
3c6e85
 drivers/scsi/qla2xxx/qla_nvme.c |  4 ++--
3c6e85
 3 files changed, 12 insertions(+), 15 deletions(-)
3c6e85
3c6e85
diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c
3c6e85
index 4df08850825f..7f9acc8cfbe2 100644
3c6e85
--- a/drivers/scsi/qla2xxx/qla_bsg.c
3c6e85
+++ b/drivers/scsi/qla2xxx/qla_bsg.c
3c6e85
@@ -1025,7 +1025,7 @@ qla84xx_updatefw(struct fc_bsg_job *bsg_job)
3c6e85
 	}
3c6e85
 
3c6e85
 	flag = bsg_job->request->rqst_data.h_vendor.vendor_cmd[1];
3c6e85
-	fw_ver = le32_to_cpu(*((uint32_t *)((uint32_t *)fw_buf + 2)));
3c6e85
+	fw_ver = get_unaligned_le32((uint32_t *)fw_buf + 2);
3c6e85
 
3c6e85
 	mn->entry_type = VERIFY_CHIP_IOCB_TYPE;
3c6e85
 	mn->entry_count = 1;
3c6e85
diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c
3c6e85
index ec06bdc606f7..47558faacb4f 100644
3c6e85
--- a/drivers/scsi/qla2xxx/qla_iocb.c
3c6e85
+++ b/drivers/scsi/qla2xxx/qla_iocb.c
3c6e85
@@ -107,7 +107,7 @@ qla2x00_prep_cont_type0_iocb(struct scsi_qla_host *vha)
3c6e85
 	cont_pkt = (cont_entry_t *)req->ring_ptr;
3c6e85
 
3c6e85
 	/* Load packet defaults. */
3c6e85
-	*((uint32_t *)(&cont_pkt->entry_type)) = cpu_to_le32(CONTINUE_TYPE);
3c6e85
+	put_unaligned_le32(CONTINUE_TYPE, &cont_pkt->entry_type);
3c6e85
 
3c6e85
 	return (cont_pkt);
3c6e85
 }
3c6e85
@@ -136,9 +136,8 @@ qla2x00_prep_cont_type1_iocb(scsi_qla_host_t *vha, struct req_que *req)
3c6e85
 	cont_pkt = (cont_a64_entry_t *)req->ring_ptr;
3c6e85
 
3c6e85
 	/* Load packet defaults. */
3c6e85
-	*((uint32_t *)(&cont_pkt->entry_type)) = IS_QLAFX00(vha->hw) ?
3c6e85
-	    cpu_to_le32(CONTINUE_A64_TYPE_FX00) :
3c6e85
-	    cpu_to_le32(CONTINUE_A64_TYPE);
3c6e85
+	put_unaligned_le32(IS_QLAFX00(vha->hw) ? CONTINUE_A64_TYPE_FX00 :
3c6e85
+			   CONTINUE_A64_TYPE, &cont_pkt->entry_type);
3c6e85
 
3c6e85
 	return (cont_pkt);
3c6e85
 }
3c6e85
@@ -202,8 +201,7 @@ void qla2x00_build_scsi_iocbs_32(srb_t *sp, cmd_entry_t *cmd_pkt,
3c6e85
 	cmd = GET_CMD_SP(sp);
3c6e85
 
3c6e85
 	/* Update entry type to indicate Command Type 2 IOCB */
3c6e85
-	*((uint32_t *)(&cmd_pkt->entry_type)) =
3c6e85
-	    cpu_to_le32(COMMAND_TYPE);
3c6e85
+	put_unaligned_le32(COMMAND_TYPE, &cmd_pkt->entry_type);
3c6e85
 
3c6e85
 	/* No data transfer */
3c6e85
 	if (!scsi_bufflen(cmd) || cmd->sc_data_direction == DMA_NONE) {
3c6e85
@@ -260,7 +258,7 @@ void qla2x00_build_scsi_iocbs_64(srb_t *sp, cmd_entry_t *cmd_pkt,
3c6e85
 	cmd = GET_CMD_SP(sp);
3c6e85
 
3c6e85
 	/* Update entry type to indicate Command Type 3 IOCB */
3c6e85
-	*((uint32_t *)(&cmd_pkt->entry_type)) = cpu_to_le32(COMMAND_A64_TYPE);
3c6e85
+	put_unaligned_le32(COMMAND_A64_TYPE, &cmd_pkt->entry_type);
3c6e85
 
3c6e85
 	/* No data transfer */
3c6e85
 	if (!scsi_bufflen(cmd) || cmd->sc_data_direction == DMA_NONE) {
3c6e85
@@ -597,7 +595,7 @@ qla24xx_build_scsi_type_6_iocbs(srb_t *sp, struct cmd_type_6 *cmd_pkt,
3c6e85
 	cmd = GET_CMD_SP(sp);
3c6e85
 
3c6e85
 	/* Update entry type to indicate Command Type 3 IOCB */
3c6e85
-	*((uint32_t *)(&cmd_pkt->entry_type)) = cpu_to_le32(COMMAND_TYPE_6);
3c6e85
+	put_unaligned_le32(COMMAND_TYPE_6, &cmd_pkt->entry_type);
3c6e85
 
3c6e85
 	/* No data transfer */
3c6e85
 	if (!scsi_bufflen(cmd) || cmd->sc_data_direction == DMA_NONE) {
3c6e85
@@ -712,7 +710,7 @@ qla24xx_build_scsi_iocbs(srb_t *sp, struct cmd_type_7 *cmd_pkt,
3c6e85
 	cmd = GET_CMD_SP(sp);
3c6e85
 
3c6e85
 	/* Update entry type to indicate Command Type 3 IOCB */
3c6e85
-	*((uint32_t *)(&cmd_pkt->entry_type)) = cpu_to_le32(COMMAND_TYPE_7);
3c6e85
+	put_unaligned_le32(COMMAND_TYPE_7, &cmd_pkt->entry_type);
3c6e85
 
3c6e85
 	/* No data transfer */
3c6e85
 	if (!scsi_bufflen(cmd) || cmd->sc_data_direction == DMA_NONE) {
3c6e85
@@ -1435,7 +1433,7 @@ qla24xx_build_scsi_crc_2_iocbs(srb_t *sp, struct cmd_type_crc_2 *cmd_pkt,
3c6e85
 	cmd = GET_CMD_SP(sp);
3c6e85
 
3c6e85
 	/* Update entry type to indicate Command Type CRC_2 IOCB */
3c6e85
-	*((uint32_t *)(&cmd_pkt->entry_type)) = cpu_to_le32(COMMAND_TYPE_CRC_2);
3c6e85
+	put_unaligned_le32(COMMAND_TYPE_CRC_2, &cmd_pkt->entry_type);
3c6e85
 
3c6e85
 	vha = sp->vha;
3c6e85
 	ha = vha->hw;
3c6e85
@@ -3818,8 +3816,7 @@ qla25xx_build_bidir_iocb(srb_t *sp, struct scsi_qla_host *vha,
3c6e85
 	struct fc_bsg_job *bsg_job = sp->u.bsg_job;
3c6e85
 
3c6e85
 	/*Update entry type to indicate bidir command */
3c6e85
-	*((uint32_t *)(&cmd_pkt->entry_type)) =
3c6e85
-		cpu_to_le32(COMMAND_BIDIRECTIONAL);
3c6e85
+	put_unaligned_le32(COMMAND_BIDIRECTIONAL, &cmd_pkt->entry_type);
3c6e85
 
3c6e85
 	/* Set the transfer direction, in this set both flags
3c6e85
 	 * Also set the BD_WRAP_BACK flag, firmware will take care
3c6e85
diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c
3c6e85
index 2e73b3ce52d1..cbde02279838 100644
3c6e85
--- a/drivers/scsi/qla2xxx/qla_nvme.c
3c6e85
+++ b/drivers/scsi/qla2xxx/qla_nvme.c
3c6e85
@@ -460,8 +460,8 @@ static inline int qla2x00_start_nvme_mq(srb_t *sp)
3c6e85
 				req->ring_ptr++;
3c6e85
 			}
3c6e85
 			cont_pkt = (cont_a64_entry_t *)req->ring_ptr;
3c6e85
-			*((uint32_t *)(&cont_pkt->entry_type)) =
3c6e85
-			    cpu_to_le32(CONTINUE_A64_TYPE);
3c6e85
+			put_unaligned_le32(CONTINUE_A64_TYPE,
3c6e85
+					   &cont_pkt->entry_type);
3c6e85
 
3c6e85
 			cur_dsd = (uint32_t *)cont_pkt->dseg_0_address;
3c6e85
 			avail_dsds = 5;
3c6e85
-- 
3c6e85
2.13.6
3c6e85