scsi: lpfc: Rework lpfc_vmid_get_appid() to be protocol independent
authorJames Smart <jsmart2021@gmail.com>
Thu, 19 May 2022 12:31:09 +0000 (05:31 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 20 May 2022 00:24:57 +0000 (20:24 -0400)
Rework lpfc_vmid_get_appid() arguments to remove scsi_cmnd dependency. The
function is now callable by the NVMe I/O path. Fix up SCSI call path to
accommodate the arg change.

Link: https://lore.kernel.org/r/20220519123110.17361-4-jsmart2021@gmail.com
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Co-developed-by: Gaurav Srivastava <gaurav.srivastava@broadcom.com>
Signed-off-by: Gaurav Srivastava <gaurav.srivastava@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_crtn.h
drivers/scsi/lpfc/lpfc_scsi.c

index 913844f..b1be0dd 100644 (file)
@@ -671,8 +671,9 @@ int lpfc_vmid_cmd(struct lpfc_vport *vport,
 int lpfc_vmid_hash_fn(const char *vmid, int len);
 struct lpfc_vmid *lpfc_get_vmid_from_hashtable(struct lpfc_vport *vport,
                                              uint32_t hash, uint8_t *buf);
-int lpfc_vmid_get_appid(struct lpfc_vport *vport, char *uuid, struct
-                              scsi_cmnd * cmd, union lpfc_vmid_io_tag *tag);
+int lpfc_vmid_get_appid(struct lpfc_vport *vport, char *uuid,
+                       enum dma_data_direction iodir,
+                       union lpfc_vmid_io_tag *tag);
 void lpfc_vmid_vport_cleanup(struct lpfc_vport *vport);
 int lpfc_issue_els_qfpa(struct lpfc_vport *vport);
 
index 70d0a4d..f5f4409 100644 (file)
@@ -5446,9 +5446,10 @@ lpfc_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *cmnd)
                uuid = lpfc_is_command_vm_io(cmnd);
 
                if (uuid) {
-                       err = lpfc_vmid_get_appid(vport, uuid, cmnd,
-                               (union lpfc_vmid_io_tag *)
-                                       &cur_iocbq->vmid_tag);
+                       err = lpfc_vmid_get_appid(vport, uuid,
+                                       cmnd->sc_data_direction,
+                                       (union lpfc_vmid_io_tag *)
+                                               &cur_iocbq->vmid_tag);
                        if (!err)
                                cur_iocbq->cmd_flag |= LPFC_IO_VMID;
                }