[086/117] qla4xxx: Convert to the scsi_status union

Message ID 20210420000845.25873-87-bvanassche@acm.org
State New
Headers show
Series
  • Make better use of static type checking
Related show

Commit Message

Bart Van Assche April 20, 2021, 12:08 a.m.
An explanation of the purpose of this patch is available in the patch
"scsi: Introduce the scsi_status union".

Cc: Nilesh Javali <njavali@marvell.com>
Cc: Manish Rangankar <mrangankar@marvell.com>
Cc: GR-QLogic-Storage-Upstream@marvell.com
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
 drivers/scsi/qla4xxx/ql4_bsg.c | 76 +++++++++++++++++-----------------
 drivers/scsi/qla4xxx/ql4_isr.c | 32 +++++++-------
 drivers/scsi/qla4xxx/ql4_os.c  | 14 +++----
 3 files changed, 61 insertions(+), 61 deletions(-)

Patch

diff --git a/drivers/scsi/qla4xxx/ql4_bsg.c b/drivers/scsi/qla4xxx/ql4_bsg.c
index c447a9d598a1..8f1c8879a6e9 100644
--- a/drivers/scsi/qla4xxx/ql4_bsg.c
+++ b/drivers/scsi/qla4xxx/ql4_bsg.c
@@ -55,17 +55,17 @@  qla4xxx_read_flash(struct bsg_job *bsg_job)
 	rval = qla4xxx_get_flash(ha, flash_dma, offset, length);
 	if (rval) {
 		ql4_printk(KERN_ERR, ha, "%s: get flash failed\n", __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		rval = -EIO;
 	} else {
 		bsg_reply->reply_payload_rcv_len =
 			sg_copy_from_buffer(bsg_job->reply_payload.sg_list,
 					    bsg_job->reply_payload.sg_cnt,
 					    flash, length);
-		bsg_reply->result = DID_OK << 16;
+		bsg_reply->status.combined = DID_OK << 16;
 	}
 
-	bsg_job_done(bsg_job, bsg_reply->result,
+	bsg_job_done(bsg_job, bsg_reply->status.combined,
 		     bsg_reply->reply_payload_rcv_len);
 	dma_free_coherent(&ha->pdev->dev, length, flash, flash_dma);
 leave:
@@ -125,12 +125,12 @@  qla4xxx_update_flash(struct bsg_job *bsg_job)
 	rval = qla4xxx_set_flash(ha, flash_dma, offset, length, options);
 	if (rval) {
 		ql4_printk(KERN_ERR, ha, "%s: set flash failed\n", __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		rval = -EIO;
 	} else
-		bsg_reply->result = DID_OK << 16;
+		bsg_reply->status.combined = DID_OK << 16;
 
-	bsg_job_done(bsg_job, bsg_reply->result,
+	bsg_job_done(bsg_job, bsg_reply->status.combined,
 		     bsg_reply->reply_payload_rcv_len);
 	dma_free_coherent(&ha->pdev->dev, length, flash, flash_dma);
 leave:
@@ -179,17 +179,17 @@  qla4xxx_get_acb_state(struct bsg_job *bsg_job)
 	if (rval) {
 		ql4_printk(KERN_ERR, ha, "%s: get ip state failed\n",
 			   __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		rval = -EIO;
 	} else {
 		bsg_reply->reply_payload_rcv_len =
 			sg_copy_from_buffer(bsg_job->reply_payload.sg_list,
 					    bsg_job->reply_payload.sg_cnt,
 					    status, sizeof(status));
-		bsg_reply->result = DID_OK << 16;
+		bsg_reply->status.combined = DID_OK << 16;
 	}
 
-	bsg_job_done(bsg_job, bsg_reply->result,
+	bsg_job_done(bsg_job, bsg_reply->status.combined,
 		     bsg_reply->reply_payload_rcv_len);
 leave:
 	return rval;
@@ -250,17 +250,17 @@  qla4xxx_read_nvram(struct bsg_job *bsg_job)
 	rval = qla4xxx_get_nvram(ha, nvram_dma, offset, len);
 	if (rval) {
 		ql4_printk(KERN_ERR, ha, "%s: get nvram failed\n", __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		rval = -EIO;
 	} else {
 		bsg_reply->reply_payload_rcv_len =
 			sg_copy_from_buffer(bsg_job->reply_payload.sg_list,
 					    bsg_job->reply_payload.sg_cnt,
 					    nvram, len);
-		bsg_reply->result = DID_OK << 16;
+		bsg_reply->status.combined = DID_OK << 16;
 	}
 
-	bsg_job_done(bsg_job, bsg_reply->result,
+	bsg_job_done(bsg_job, bsg_reply->status.combined,
 		     bsg_reply->reply_payload_rcv_len);
 	dma_free_coherent(&ha->pdev->dev, len, nvram, nvram_dma);
 leave:
@@ -324,12 +324,12 @@  qla4xxx_update_nvram(struct bsg_job *bsg_job)
 	rval = qla4xxx_set_nvram(ha, nvram_dma, offset, len);
 	if (rval) {
 		ql4_printk(KERN_ERR, ha, "%s: set nvram failed\n", __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		rval = -EIO;
 	} else
-		bsg_reply->result = DID_OK << 16;
+		bsg_reply->status.combined = DID_OK << 16;
 
-	bsg_job_done(bsg_job, bsg_reply->result,
+	bsg_job_done(bsg_job, bsg_reply->status.combined,
 		     bsg_reply->reply_payload_rcv_len);
 	dma_free_coherent(&ha->pdev->dev, len, nvram, nvram_dma);
 leave:
@@ -369,12 +369,12 @@  qla4xxx_restore_defaults(struct bsg_job *bsg_job)
 	rval = qla4xxx_restore_factory_defaults(ha, region, field0, field1);
 	if (rval) {
 		ql4_printk(KERN_ERR, ha, "%s: set nvram failed\n", __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		rval = -EIO;
 	} else
-		bsg_reply->result = DID_OK << 16;
+		bsg_reply->status.combined = DID_OK << 16;
 
-	bsg_job_done(bsg_job, bsg_reply->result,
+	bsg_job_done(bsg_job, bsg_reply->status.combined,
 		     bsg_reply->reply_payload_rcv_len);
 leave:
 	return rval;
@@ -428,17 +428,17 @@  qla4xxx_bsg_get_acb(struct bsg_job *bsg_job)
 	rval = qla4xxx_get_acb(ha, acb_dma, acb_type, len);
 	if (rval) {
 		ql4_printk(KERN_ERR, ha, "%s: get acb failed\n", __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		rval = -EIO;
 	} else {
 		bsg_reply->reply_payload_rcv_len =
 			sg_copy_from_buffer(bsg_job->reply_payload.sg_list,
 					    bsg_job->reply_payload.sg_cnt,
 					    acb, len);
-		bsg_reply->result = DID_OK << 16;
+		bsg_reply->status.combined = DID_OK << 16;
 	}
 
-	bsg_job_done(bsg_job, bsg_reply->result,
+	bsg_job_done(bsg_job, bsg_reply->status.combined,
 		     bsg_reply->reply_payload_rcv_len);
 	dma_free_coherent(&ha->pdev->dev, len, acb, acb_dma);
 leave:
@@ -461,7 +461,7 @@  static void ql4xxx_execute_diag_cmd(struct bsg_job *bsg_job)
 	if (test_bit(DPC_RESET_HA, &ha->dpc_flags)) {
 		ql4_printk(KERN_INFO, ha, "%s: Adapter reset in progress. Invalid Request\n",
 			   __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		goto exit_diag_mem_test;
 	}
 
@@ -485,9 +485,9 @@  static void ql4xxx_execute_diag_cmd(struct bsg_job *bsg_job)
 			  mbox_sts[7]));
 
 	if (status == QLA_SUCCESS)
-		bsg_reply->result = DID_OK << 16;
+		bsg_reply->status.combined = DID_OK << 16;
 	else
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 
 	/* Send mbox_sts to application */
 	bsg_job->reply_len = sizeof(struct iscsi_bsg_reply) + sizeof(mbox_sts);
@@ -497,9 +497,9 @@  static void ql4xxx_execute_diag_cmd(struct bsg_job *bsg_job)
 exit_diag_mem_test:
 	DEBUG2(ql4_printk(KERN_INFO, ha,
 			  "%s: bsg_reply->result = x%x, status = %s\n",
-			  __func__, bsg_reply->result, STATUS(status)));
+			  __func__, bsg_reply->status.combined, STATUS(status)));
 
-	bsg_job_done(bsg_job, bsg_reply->result,
+	bsg_job_done(bsg_job, bsg_reply->status.combined,
 		     bsg_reply->reply_payload_rcv_len);
 }
 
@@ -668,14 +668,14 @@  static void qla4xxx_execute_diag_loopback_cmd(struct bsg_job *bsg_job)
 	if (test_bit(AF_LOOPBACK, &ha->flags)) {
 		ql4_printk(KERN_INFO, ha, "%s: Loopback Diagnostics already in progress. Invalid Request\n",
 			   __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		goto exit_loopback_cmd;
 	}
 
 	if (test_bit(DPC_RESET_HA, &ha->dpc_flags)) {
 		ql4_printk(KERN_INFO, ha, "%s: Adapter reset in progress. Invalid Request\n",
 			   __func__);
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 		goto exit_loopback_cmd;
 	}
 
@@ -685,14 +685,14 @@  static void qla4xxx_execute_diag_loopback_cmd(struct bsg_job *bsg_job)
 	if (is_qla8032(ha) || is_qla8042(ha)) {
 		status = qla4_83xx_pre_loopback_config(ha, mbox_cmd);
 		if (status != QLA_SUCCESS) {
-			bsg_reply->result = DID_ERROR << 16;
+			bsg_reply->status.combined = DID_ERROR << 16;
 			goto exit_loopback_cmd;
 		}
 
 		status = qla4_83xx_wait_for_loopback_config_comp(ha,
 								 wait_for_link);
 		if (status != QLA_SUCCESS) {
-			bsg_reply->result = DID_TIME_OUT << 16;
+			bsg_reply->status.combined = DID_TIME_OUT << 16;
 			goto restore;
 		}
 	}
@@ -707,9 +707,9 @@  static void qla4xxx_execute_diag_loopback_cmd(struct bsg_job *bsg_job)
 				&mbox_sts[0]);
 
 	if (status == QLA_SUCCESS)
-		bsg_reply->result = DID_OK << 16;
+		bsg_reply->status.combined = DID_OK << 16;
 	else
-		bsg_reply->result = DID_ERROR << 16;
+		bsg_reply->status.combined = DID_ERROR << 16;
 
 	DEBUG2(ql4_printk(KERN_INFO, ha,
 			  "%s: mbox_sts: %08X %08X %08X %08X %08X %08X %08X %08X\n",
@@ -725,7 +725,7 @@  static void qla4xxx_execute_diag_loopback_cmd(struct bsg_job *bsg_job)
 	if (is_qla8032(ha) || is_qla8042(ha)) {
 		status = qla4_83xx_post_loopback_config(ha, mbox_cmd);
 		if (status != QLA_SUCCESS) {
-			bsg_reply->result = DID_ERROR << 16;
+			bsg_reply->status.combined = DID_ERROR << 16;
 			goto exit_loopback_cmd;
 		}
 
@@ -737,15 +737,15 @@  static void qla4xxx_execute_diag_loopback_cmd(struct bsg_job *bsg_job)
 		status = qla4_83xx_wait_for_loopback_config_comp(ha,
 								 wait_for_link);
 		if (status != QLA_SUCCESS) {
-			bsg_reply->result = DID_TIME_OUT << 16;
+			bsg_reply->status.combined = DID_TIME_OUT << 16;
 			goto exit_loopback_cmd;
 		}
 	}
 exit_loopback_cmd:
 	DEBUG2(ql4_printk(KERN_INFO, ha,
 			  "%s: bsg_reply->result = x%x, status = %s\n",
-			  __func__, bsg_reply->result, STATUS(status)));
-	bsg_job_done(bsg_job, bsg_reply->result,
+			  __func__, bsg_reply->status.combined, STATUS(status)));
+	bsg_job_done(bsg_job, bsg_reply->status.combined,
 		     bsg_reply->reply_payload_rcv_len);
 }
 
@@ -841,9 +841,9 @@  int qla4xxx_process_vendor_specific(struct bsg_job *bsg_job)
 	default:
 		ql4_printk(KERN_ERR, ha, "%s: invalid BSG vendor command: "
 			   "0x%x\n", __func__, bsg_req->msgcode);
-		bsg_reply->result = (DID_ERROR << 16);
+		bsg_reply->status.combined = (DID_ERROR << 16);
 		bsg_reply->reply_payload_rcv_len = 0;
-		bsg_job_done(bsg_job, bsg_reply->result,
+		bsg_job_done(bsg_job, bsg_reply->status.combined,
 			     bsg_reply->reply_payload_rcv_len);
 		return -ENOSYS;
 	}
diff --git a/drivers/scsi/qla4xxx/ql4_isr.c b/drivers/scsi/qla4xxx/ql4_isr.c
index 6f0e77dc2a34..d31b7dcb6be4 100644
--- a/drivers/scsi/qla4xxx/ql4_isr.c
+++ b/drivers/scsi/qla4xxx/ql4_isr.c
@@ -145,7 +145,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 
 	ddb_entry = srb->ddb;
 	if (ddb_entry == NULL) {
-		cmd->result = DID_NO_CONNECT << 16;
+		cmd->status.combined = DID_NO_CONNECT << 16;
 		goto status_entry_exit;
 	}
 
@@ -157,7 +157,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 	case SCS_COMPLETE:
 
 		if (sts_entry->iscsiFlags & ISCSI_FLAG_RESIDUAL_OVER) {
-			cmd->result = DID_ERROR << 16;
+			cmd->status.combined = DID_ERROR << 16;
 			break;
 		}
 
@@ -166,7 +166,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 			if (!scsi_status && ((scsi_bufflen(cmd) - residual) <
 				cmd->underflow)) {
 
-				cmd->result = DID_ERROR << 16;
+				cmd->status.combined = DID_ERROR << 16;
 
 				DEBUG2(printk("scsi%ld:%d:%d:%llu: %s: "
 					"Mid-layer Data underrun0, "
@@ -180,7 +180,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 			}
 		}
 
-		cmd->result = DID_OK << 16 | scsi_status;
+		cmd->status.combined = DID_OK << 16 | scsi_status;
 
 		if (scsi_status != SAM_STAT_CHECK_CONDITION)
 			break;
@@ -192,7 +192,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 	case SCS_INCOMPLETE:
 		/* Always set the status to DID_ERROR, since
 		 * all conditions result in that status anyway */
-		cmd->result = DID_ERROR << 16;
+		cmd->status.combined = DID_ERROR << 16;
 		break;
 
 	case SCS_RESET_OCCURRED:
@@ -200,7 +200,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 			      ha->host_no, cmd->device->channel,
 			      cmd->device->id, cmd->device->lun, __func__));
 
-		cmd->result = DID_RESET << 16;
+		cmd->status.combined = DID_RESET << 16;
 		break;
 
 	case SCS_ABORTED:
@@ -208,7 +208,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 			      ha->host_no, cmd->device->channel,
 			      cmd->device->id, cmd->device->lun, __func__));
 
-		cmd->result = DID_RESET << 16;
+		cmd->status.combined = DID_RESET << 16;
 		break;
 
 	case SCS_TIMEOUT:
@@ -216,7 +216,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 			      ha->host_no, cmd->device->channel,
 			      cmd->device->id, cmd->device->lun));
 
-		cmd->result = DID_TRANSPORT_DISRUPTED << 16;
+		cmd->status.combined = DID_TRANSPORT_DISRUPTED << 16;
 
 		/*
 		 * Mark device missing so that we won't continue to send
@@ -236,7 +236,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 				      cmd->device->channel, cmd->device->id,
 				      cmd->device->lun, __func__));
 
-			cmd->result = DID_ERROR << 16;
+			cmd->status.combined = DID_ERROR << 16;
 			break;
 		}
 
@@ -266,7 +266,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 						   scsi_bufflen(cmd),
 						   residual));
 
-				cmd->result = DID_ERROR << 16;
+				cmd->status.combined = DID_ERROR << 16;
 				break;
 			}
 
@@ -298,11 +298,11 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 					  residual,
 					  scsi_bufflen(cmd)));
 
-			cmd->result = DID_ERROR << 16 | scsi_status;
+			cmd->status.combined = DID_ERROR << 16 | scsi_status;
 			goto check_scsi_status;
 		}
 
-		cmd->result = DID_OK << 16 | scsi_status;
+		cmd->status.combined = DID_OK << 16 | scsi_status;
 
 check_scsi_status:
 		if (scsi_status == SAM_STAT_CHECK_CONDITION)
@@ -324,14 +324,14 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 		if (iscsi_is_session_online(ddb_entry->sess))
 			qla4xxx_mark_device_missing(ddb_entry->sess);
 
-		cmd->result = DID_TRANSPORT_DISRUPTED << 16;
+		cmd->status.combined = DID_TRANSPORT_DISRUPTED << 16;
 		break;
 
 	case SCS_QUEUE_FULL:
 		/*
 		 * SCSI Mid-Layer handles device queue full
 		 */
-		cmd->result = DID_OK << 16 | sts_entry->scsiStatus;
+		cmd->status.combined = DID_OK << 16 | sts_entry->scsiStatus;
 		DEBUG2(printk("scsi%ld:%d:%llu: %s: QUEUE FULL detected "
 			      "compl=%02x, scsi=%02x, state=%02x, iFlags=%02x,"
 			      " iResp=%02x\n", ha->host_no, cmd->device->id,
@@ -343,7 +343,7 @@  static void qla4xxx_status_entry(struct scsi_qla_host *ha,
 		break;
 
 	default:
-		cmd->result = DID_ERROR << 16;
+		cmd->status.combined = DID_ERROR << 16;
 		break;
 	}
 
@@ -529,7 +529,7 @@  void qla4xxx_process_response_queue(struct scsi_qla_host *ha)
 
 			/* ETRY normally by sending it back with
 			 * DID_BUS_BUSY */
-			srb->cmd->result = DID_BUS_BUSY << 16;
+			srb->cmd->status.combined = DID_BUS_BUSY << 16;
 			kref_put(&srb->srb_ref, qla4xxx_srb_compl);
 			break;
 
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index ad3afe30f617..5746c16dfc48 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -4106,20 +4106,20 @@  static int qla4xxx_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
 
 	if (test_bit(AF_EEH_BUSY, &ha->flags)) {
 		if (test_bit(AF_PCI_CHANNEL_IO_PERM_FAILURE, &ha->flags))
-			cmd->result = DID_NO_CONNECT << 16;
+			cmd->status.combined = DID_NO_CONNECT << 16;
 		else
-			cmd->result = DID_REQUEUE << 16;
+			cmd->status.combined = DID_REQUEUE << 16;
 		goto qc_fail_command;
 	}
 
 	if (!sess) {
-		cmd->result = DID_IMM_RETRY << 16;
+		cmd->status.combined = DID_IMM_RETRY << 16;
 		goto qc_fail_command;
 	}
 
 	rval = iscsi_session_chkready(sess);
 	if (rval) {
-		cmd->result = rval;
+		cmd->status.combined = rval;
 		goto qc_fail_command;
 	}
 
@@ -4802,7 +4802,7 @@  static void qla4xxx_abort_active_cmds(struct scsi_qla_host *ha, int res)
 	for (i = 0; i < ha->host->can_queue; i++) {
 		srb = qla4xxx_del_from_active_array(ha, i);
 		if (srb != NULL) {
-			srb->cmd->result = res;
+			srb->cmd->status.combined = res;
 			kref_put(&srb->srb_ref, qla4xxx_srb_compl);
 		}
 	}
@@ -9283,7 +9283,7 @@  static int qla4xxx_eh_device_reset(struct scsi_cmnd *cmd)
 		      "scsi%ld: DEVICE_RESET cmd=%p jiffies = 0x%lx, to=%x,"
 		      "dpc_flags=%lx, status=%x allowed=%d\n", ha->host_no,
 		      cmd, jiffies, cmd->request->timeout / HZ,
-		      ha->dpc_flags, cmd->result, cmd->allowed));
+		      ha->dpc_flags, cmd->status.combined, cmd->allowed));
 
 	rval = qla4xxx_isp_check_reg(ha);
 	if (rval != QLA_SUCCESS) {
@@ -9350,7 +9350,7 @@  static int qla4xxx_eh_target_reset(struct scsi_cmnd *cmd)
 		      "scsi%ld: TARGET_DEVICE_RESET cmd=%p jiffies = 0x%lx, "
 		      "to=%x,dpc_flags=%lx, status=%x allowed=%d\n",
 		      ha->host_no, cmd, jiffies, cmd->request->timeout / HZ,
-		      ha->dpc_flags, cmd->result, cmd->allowed));
+		      ha->dpc_flags, cmd->status.combined, cmd->allowed));
 
 	rval = qla4xxx_isp_check_reg(ha);
 	if (rval != QLA_SUCCESS) {