mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 05:34:13 +08:00
scsi: lpfc: Use rport as argument for lpfc_chk_tgt_mapped()
We only need the rport structure for lpfc_chk_tgt_mapped(). Link: https://lore.kernel.org/r/20220301143718.40913-6-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>
This commit is contained in:
parent
123a3af35d
commit
e81ce97f57
@ -6244,7 +6244,7 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct fc_rport *rport,
|
||||
/**
|
||||
* lpfc_chk_tgt_mapped -
|
||||
* @vport: The virtual port to check on
|
||||
* @cmnd: Pointer to scsi_cmnd data structure.
|
||||
* @rport: Pointer to fc_rport data structure.
|
||||
*
|
||||
* This routine delays until the scsi target (aka rport) for the
|
||||
* command exists (is present and logged in) or we declare it non-existent.
|
||||
@ -6254,19 +6254,20 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct fc_rport *rport,
|
||||
* 0x2002 - Success
|
||||
**/
|
||||
static int
|
||||
lpfc_chk_tgt_mapped(struct lpfc_vport *vport, struct scsi_cmnd *cmnd)
|
||||
lpfc_chk_tgt_mapped(struct lpfc_vport *vport, struct fc_rport *rport)
|
||||
{
|
||||
struct lpfc_rport_data *rdata;
|
||||
struct lpfc_nodelist *pnode;
|
||||
struct lpfc_nodelist *pnode = NULL;
|
||||
unsigned long later;
|
||||
|
||||
rdata = lpfc_rport_data_from_scsi_device(cmnd->device);
|
||||
rdata = rport->dd_data;
|
||||
if (!rdata) {
|
||||
lpfc_printf_vlog(vport, KERN_INFO, LOG_FCP,
|
||||
"0797 Tgt Map rport failure: rdata x%px\n", rdata);
|
||||
return FAILED;
|
||||
}
|
||||
pnode = rdata->pnode;
|
||||
|
||||
/*
|
||||
* If target is not in a MAPPED state, delay until
|
||||
* target is rediscovered or devloss timeout expires.
|
||||
@ -6278,7 +6279,7 @@ lpfc_chk_tgt_mapped(struct lpfc_vport *vport, struct scsi_cmnd *cmnd)
|
||||
if (pnode->nlp_state == NLP_STE_MAPPED_NODE)
|
||||
return SUCCESS;
|
||||
schedule_timeout_uninterruptible(msecs_to_jiffies(500));
|
||||
rdata = lpfc_rport_data_from_scsi_device(cmnd->device);
|
||||
rdata = rport->dd_data;
|
||||
if (!rdata)
|
||||
return FAILED;
|
||||
pnode = rdata->pnode;
|
||||
@ -6371,7 +6372,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
|
||||
if (status != 0 && status != SUCCESS)
|
||||
return status;
|
||||
|
||||
status = lpfc_chk_tgt_mapped(vport, cmnd);
|
||||
status = lpfc_chk_tgt_mapped(vport, rport);
|
||||
if (status == FAILED) {
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
|
||||
"0721 Device Reset rport failure: rdata x%px\n", rdata);
|
||||
@ -6449,7 +6450,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
|
||||
if (status != 0 && status != SUCCESS)
|
||||
return status;
|
||||
|
||||
status = lpfc_chk_tgt_mapped(vport, cmnd);
|
||||
status = lpfc_chk_tgt_mapped(vport, rport);
|
||||
if (status == FAILED) {
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
|
||||
"0722 Target Reset rport failure: rdata x%px\n", rdata);
|
||||
|
Loading…
Reference in New Issue
Block a user