[PATCH 29/51] qla2xxx: use fc_block_rport()
From: Hannes Reinecke <hare@suse.de>
Date: 2021-08-17 09:17:27
Subsystem:
qlogic qla2xxx fc-scsi driver, scsi subsystem, the rest · Maintainers:
Nilesh Javali, "James E.J. Bottomley", "Martin K. Petersen", Linus Torvalds
Use fc_block_rport() instead of fc_block_scsi_eh() as the SCSI command will be removed as argument for SCSI EH functions. Signed-off-by: Hannes Reinecke <hare@suse.de> Cc: Nilesh Javali <njavali@marvell.com> --- drivers/scsi/qla2xxx/qla_os.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index b9cc7cfb5c21..0f2bf06a01d7 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c@@ -1390,9 +1390,11 @@ static char *reset_errors[] = { static int qla2xxx_eh_device_reset(struct scsi_cmnd *cmd) { - scsi_qla_host_t *vha = shost_priv(cmd->device->host); + struct scsi_device *sdev = cmd->device; + scsi_qla_host_t *vha = shost_priv(sdev->host); struct qla_hw_data *ha = vha->hw; - fc_port_t *fcport = (struct fc_port *) cmd->device->hostdata; + struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); + fc_port_t *fcport = (struct fc_port *) sdev->hostdata; int err; if (qla2x00_isp_reg_stat(ha)) {
@@ -1406,7 +1408,7 @@ qla2xxx_eh_device_reset(struct scsi_cmnd *cmd) return FAILED; } - err = fc_block_scsi_eh(cmd); + err = fc_block_rport(rport); if (err != 0) return err;
@@ -1456,8 +1458,10 @@ qla2xxx_eh_device_reset(struct scsi_cmnd *cmd) static int qla2xxx_eh_target_reset(struct scsi_cmnd *cmd) { - scsi_qla_host_t *vha = shost_priv(cmd->device->host); - fc_port_t *fcport = (struct fc_port *) cmd->device->hostdata; + struct scsi_device *sdev = cmd->device; + scsi_qla_host_t *vha = shost_priv(sdev->host); + struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); + fc_port_t *fcport = (struct fc_port *) sdev->hostdata; struct qla_hw_data *ha = vha->hw; int err;
@@ -1468,14 +1472,14 @@ qla2xxx_eh_target_reset(struct scsi_cmnd *cmd) return FAILED; } + err = fc_block_rport(rport); + if (err != 0) + return err; + if (!fcport) { return FAILED; } - err = fc_block_scsi_eh(cmd); - if (err != 0) - return err; - if (fcport->deleted) return SUCCESS;
--
2.29.2