scsi: lpfc: Use rport as argument for lpfc_send_taskmgmt()
Instead of passing in a scsi_cmnd we should be using the rport; we already have the target and LUN ID as parameters, so there's no need to pass the scsi_cmnd too. Link: https://lore.kernel.org/r/20220301143718.40913-5-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
bb21fc9911
commit
123a3af35d
@ -6142,7 +6142,7 @@ lpfc_check_fcp_rsp(struct lpfc_vport *vport, struct lpfc_io_buf *lpfc_cmd)
|
|||||||
/**
|
/**
|
||||||
* lpfc_send_taskmgmt - Generic SCSI Task Mgmt Handler
|
* lpfc_send_taskmgmt - Generic SCSI Task Mgmt Handler
|
||||||
* @vport: The virtual port for which this call is being executed.
|
* @vport: The virtual port for which this call is being executed.
|
||||||
* @cmnd: Pointer to scsi_cmnd data structure.
|
* @rport: Pointer to remote port
|
||||||
* @tgt_id: Target ID of remote device.
|
* @tgt_id: Target ID of remote device.
|
||||||
* @lun_id: Lun number for the TMF
|
* @lun_id: Lun number for the TMF
|
||||||
* @task_mgmt_cmd: type of TMF to send
|
* @task_mgmt_cmd: type of TMF to send
|
||||||
@ -6155,7 +6155,7 @@ lpfc_check_fcp_rsp(struct lpfc_vport *vport, struct lpfc_io_buf *lpfc_cmd)
|
|||||||
* 0x2002 - Success.
|
* 0x2002 - Success.
|
||||||
**/
|
**/
|
||||||
static int
|
static int
|
||||||
lpfc_send_taskmgmt(struct lpfc_vport *vport, struct scsi_cmnd *cmnd,
|
lpfc_send_taskmgmt(struct lpfc_vport *vport, struct fc_rport *rport,
|
||||||
unsigned int tgt_id, uint64_t lun_id,
|
unsigned int tgt_id, uint64_t lun_id,
|
||||||
uint8_t task_mgmt_cmd)
|
uint8_t task_mgmt_cmd)
|
||||||
{
|
{
|
||||||
@ -6168,7 +6168,7 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct scsi_cmnd *cmnd,
|
|||||||
int ret;
|
int ret;
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
rdata = lpfc_rport_data_from_scsi_device(cmnd->device);
|
rdata = rport->dd_data;
|
||||||
if (!rdata || !rdata->pnode)
|
if (!rdata || !rdata->pnode)
|
||||||
return FAILED;
|
return FAILED;
|
||||||
pnode = rdata->pnode;
|
pnode = rdata->pnode;
|
||||||
@ -6178,7 +6178,7 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct scsi_cmnd *cmnd,
|
|||||||
return FAILED;
|
return FAILED;
|
||||||
lpfc_cmd->timeout = phba->cfg_task_mgmt_tmo;
|
lpfc_cmd->timeout = phba->cfg_task_mgmt_tmo;
|
||||||
lpfc_cmd->rdata = rdata;
|
lpfc_cmd->rdata = rdata;
|
||||||
lpfc_cmd->pCmd = cmnd;
|
lpfc_cmd->pCmd = NULL;
|
||||||
lpfc_cmd->ndlp = pnode;
|
lpfc_cmd->ndlp = pnode;
|
||||||
|
|
||||||
status = lpfc_scsi_prep_task_mgmt_cmd(vport, lpfc_cmd, lun_id,
|
status = lpfc_scsi_prep_task_mgmt_cmd(vport, lpfc_cmd, lun_id,
|
||||||
@ -6387,7 +6387,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
|
|||||||
fc_host_post_vendor_event(shost, fc_get_event_number(),
|
fc_host_post_vendor_event(shost, fc_get_event_number(),
|
||||||
sizeof(scsi_event), (char *)&scsi_event, LPFC_NL_VENDOR_ID);
|
sizeof(scsi_event), (char *)&scsi_event, LPFC_NL_VENDOR_ID);
|
||||||
|
|
||||||
status = lpfc_send_taskmgmt(vport, cmnd, tgt_id, lun_id,
|
status = lpfc_send_taskmgmt(vport, rport, tgt_id, lun_id,
|
||||||
FCP_LUN_RESET);
|
FCP_LUN_RESET);
|
||||||
if (status != SUCCESS)
|
if (status != SUCCESS)
|
||||||
logit = LOG_TRACE_EVENT;
|
logit = LOG_TRACE_EVENT;
|
||||||
@ -6473,7 +6473,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
|
|||||||
fc_host_post_vendor_event(shost, fc_get_event_number(),
|
fc_host_post_vendor_event(shost, fc_get_event_number(),
|
||||||
sizeof(scsi_event), (char *)&scsi_event, LPFC_NL_VENDOR_ID);
|
sizeof(scsi_event), (char *)&scsi_event, LPFC_NL_VENDOR_ID);
|
||||||
|
|
||||||
status = lpfc_send_taskmgmt(vport, cmnd, tgt_id, lun_id,
|
status = lpfc_send_taskmgmt(vport, rport, tgt_id, lun_id,
|
||||||
FCP_TARGET_RESET);
|
FCP_TARGET_RESET);
|
||||||
if (status != SUCCESS) {
|
if (status != SUCCESS) {
|
||||||
logit = LOG_TRACE_EVENT;
|
logit = LOG_TRACE_EVENT;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user