Commit 4e5a05d1 authored by Arun Easi's avatar Arun Easi Committed by Martin K. Petersen
Browse files

scsi: qla2xxx: Make tgt_port_database available in initiator mode

tgt_port_database data is today exported only in target mode, allow it to
be shown in initiator mode as well.

Link: https://lore.kernel.org/r/20200904045128.23631-10-njavali@marvell.com


Reviewed-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: default avatarArun Easi <aeasi@marvell.com>
Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent a35f87bd
Loading
Loading
Loading
Loading
+32 −32
Original line number Diff line number Diff line
@@ -138,15 +138,14 @@ qla2x00_dfs_tgt_port_database_show(struct seq_file *s, void *unused)
{
	scsi_qla_host_t *vha = s->private;
	struct qla_hw_data *ha = vha->hw;
	struct gid_list_info *gid_list, *gid;
	struct gid_list_info *gid_list;
	dma_addr_t gid_list_dma;
	fc_port_t fc_port;
	char *id_iter;
	int rc, i;
	uint16_t entries, loop_id;
	struct qla_tgt *tgt = vha->vha_tgt.qla_tgt;

	seq_printf(s, "%s\n", vha->host_str);
	if (tgt) {
	gid_list = dma_alloc_coherent(&ha->pdev->dev,
				      qla2x00_gid_list_size(ha),
				      &gid_list_dma, GFP_KERNEL);
@@ -162,11 +161,13 @@ qla2x00_dfs_tgt_port_database_show(struct seq_file *s, void *unused)
	if (rc != QLA_SUCCESS)
		goto out_free_id_list;

		gid = gid_list;
	id_iter = (char *)gid_list;

	seq_puts(s, "Port Name	Port ID		Loop ID\n");

	for (i = 0; i < entries; i++) {
		struct gid_list_info *gid =
			(struct gid_list_info *)id_iter;
		loop_id = le16_to_cpu(gid->loop_id);
		memset(&fc_port, 0, sizeof(fc_port_t));

@@ -177,12 +178,11 @@ qla2x00_dfs_tgt_port_database_show(struct seq_file *s, void *unused)
			   fc_port.port_name, fc_port.d_id.b.domain,
			   fc_port.d_id.b.area, fc_port.d_id.b.al_pa,
			   fc_port.loop_id);
			gid = (void *)gid + ha->gid_list_info_size;
		id_iter += ha->gid_list_info_size;
	}
out_free_id_list:
	dma_free_coherent(&ha->pdev->dev, qla2x00_gid_list_size(ha),
			  gid_list, gid_list_dma);
	}

	return 0;
}