]> git.baikalelectronics.ru Git - kernel.git/commitdiff
scsi: lpfc: Use fc_block_rport()
authorHannes Reinecke <hare@suse.de>
Tue, 1 Mar 2022 14:37:16 +0000 (15:37 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 2 Mar 2022 04:56:29 +0000 (23:56 -0500)
Use fc_block_rport() instead of fc_block_scsi_eh() as the SCSI command will
be removed as argument for SCSI EH functions.

Link: https://lore.kernel.org/r/20220301143718.40913-4-hare@suse.de
Cc: James Smart <james.smart@broadcom.com>
Reviewed-by: James Smart <jsmart2021@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_scsi.c

index 943f7e826ccb1df59d48f7d454796ae0e715e91d..4d55bcb627dbc88f4eea5f65a3da138123aabb67 100644 (file)
@@ -5888,6 +5888,7 @@ static int
 lpfc_abort_handler(struct scsi_cmnd *cmnd)
 {
        struct Scsi_Host  *shost = cmnd->device->host;
+       struct fc_rport *rport = starget_to_rport(scsi_target(cmnd->device));
        struct lpfc_vport *vport = (struct lpfc_vport *) shost->hostdata;
        struct lpfc_hba   *phba = vport->phba;
        struct lpfc_iocbq *iocb;
@@ -5899,7 +5900,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
        unsigned long flags;
        DECLARE_WAIT_QUEUE_HEAD_ONSTACK(waitq);
 
-       status = fc_block_scsi_eh(cmnd);
+       status = fc_block_rport(rport);
        if (status != 0 && status != SUCCESS)
                return status;
 
@@ -6348,6 +6349,7 @@ static int
 lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
 {
        struct Scsi_Host  *shost = cmnd->device->host;
+       struct fc_rport *rport = starget_to_rport(scsi_target(cmnd->device));
        struct lpfc_vport *vport = (struct lpfc_vport *) shost->hostdata;
        struct lpfc_rport_data *rdata;
        struct lpfc_nodelist *pnode;
@@ -6357,7 +6359,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
        int status;
        u32 logit = LOG_FCP;
 
-       rdata = lpfc_rport_data_from_scsi_device(cmnd->device);
+       rdata = rport->dd_data;
        if (!rdata || !rdata->pnode) {
                lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
                                 "0798 Device Reset rdata failure: rdata x%px\n",
@@ -6365,7 +6367,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
                return FAILED;
        }
        pnode = rdata->pnode;
-       status = fc_block_scsi_eh(cmnd);
+       status = fc_block_rport(rport);
        if (status != 0 && status != SUCCESS)
                return status;
 
@@ -6422,6 +6424,7 @@ static int
 lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
 {
        struct Scsi_Host  *shost = cmnd->device->host;
+       struct fc_rport *rport = starget_to_rport(scsi_target(cmnd->device));
        struct lpfc_vport *vport = (struct lpfc_vport *) shost->hostdata;
        struct lpfc_rport_data *rdata;
        struct lpfc_nodelist *pnode;
@@ -6434,7 +6437,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
        unsigned long flags;
        DECLARE_WAIT_QUEUE_HEAD_ONSTACK(waitq);
 
-       rdata = lpfc_rport_data_from_scsi_device(cmnd->device);
+       rdata = rport->dd_data;
        if (!rdata || !rdata->pnode) {
                lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
                                 "0799 Target Reset rdata failure: rdata x%px\n",
@@ -6442,7 +6445,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
                return FAILED;
        }
        pnode = rdata->pnode;
-       status = fc_block_scsi_eh(cmnd);
+       status = fc_block_rport(rport);
        if (status != 0 && status != SUCCESS)
                return status;