Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8b62011 authored by James Smart's avatar James Smart Committed by James Bottomley
Browse files

[SCSI] lpfc 8.2.2 : Rework the lpfc_printf_log() macro



Rework the lpfc_printf_log() macro so that logging is enabled on a
per-vport basis. Used to be on a physical-port basis, thus logging
with large numbers of vports became a mess.  Required redefinition of
the macro, and an update of every use.

Signed-off-by: default avatarJames Smart <James.Smart@emulex.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 3de2a653
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -349,6 +349,7 @@ struct lpfc_vport {
	uint32_t cfg_use_adisc;
	uint32_t cfg_use_adisc;
	uint32_t cfg_fdmi_on;
	uint32_t cfg_fdmi_on;
	uint32_t cfg_discovery_threads;
	uint32_t cfg_discovery_threads;
	uint32_t cfg_log_verbose;
	uint32_t cfg_max_luns;
	uint32_t cfg_max_luns;


	uint32_t dev_loss_tmo_changed;
	uint32_t dev_loss_tmo_changed;
@@ -446,8 +447,6 @@ struct lpfc_hba {
	uint64_t cfg_soft_wwpn;
	uint64_t cfg_soft_wwpn;
	uint32_t cfg_hba_queue_depth;
	uint32_t cfg_hba_queue_depth;


	/* Config paramters that should be in the vport */
	uint32_t cfg_log_verbose;


	lpfc_vpd_t vpd;		/* vital product data */
	lpfc_vpd_t vpd;		/* vital product data */


+49 −61
Original line number Original line Diff line number Diff line
@@ -319,9 +319,8 @@ lpfc_do_offline(struct lpfc_hba *phba, uint32_t type)
			if (cnt++ > 3000) {
			if (cnt++ > 3000) {
				lpfc_printf_log(phba,
				lpfc_printf_log(phba,
					KERN_WARNING, LOG_INIT,
					KERN_WARNING, LOG_INIT,
					"%d:0466 Outstanding IO when "
					"0466 Outstanding IO when "
					"bringing Adapter offline\n",
					"bringing Adapter offline\n");
					phba->brd_no);
				break;
				break;
			}
			}
		}
		}
@@ -694,9 +693,8 @@ lpfc_##attr##_init(struct lpfc_hba *phba, int val) \
		return 0;\
		return 0;\
	}\
	}\
	lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
	lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
			"%d:0449 lpfc_"#attr" attribute cannot be set to %d, "\
			"0449 lpfc_"#attr" attribute cannot be set to %d, "\
			"allowed range is ["#minval", "#maxval"]\n", \
			"allowed range is ["#minval", "#maxval"]\n", val); \
			phba->brd_no, val); \
	phba->cfg_##attr = default;\
	phba->cfg_##attr = default;\
	return -EINVAL;\
	return -EINVAL;\
}
}
@@ -710,9 +708,8 @@ lpfc_##attr##_set(struct lpfc_hba *phba, int val) \
		return 0;\
		return 0;\
	}\
	}\
	lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
	lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
			"%d:0450 lpfc_"#attr" attribute cannot be set to %d, "\
			"0450 lpfc_"#attr" attribute cannot be set to %d, "\
			"allowed range is ["#minval", "#maxval"]\n", \
			"allowed range is ["#minval", "#maxval"]\n", val); \
			phba->brd_no, val); \
	return -EINVAL;\
	return -EINVAL;\
}
}


@@ -764,10 +761,9 @@ lpfc_##attr##_init(struct lpfc_vport *vport, int val) \
		vport->cfg_##attr = val;\
		vport->cfg_##attr = val;\
		return 0;\
		return 0;\
	}\
	}\
	lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT, \
	lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT, \
			"%d:0449 lpfc_"#attr" attribute cannot be set to %d, "\
			 "0449 lpfc_"#attr" attribute cannot be set to %d, "\
			"allowed range is ["#minval", "#maxval"]\n", \
			 "allowed range is ["#minval", "#maxval"]\n", val); \
			vport->phba->brd_no, val); \
	vport->cfg_##attr = default;\
	vport->cfg_##attr = default;\
	return -EINVAL;\
	return -EINVAL;\
}
}
@@ -780,10 +776,9 @@ lpfc_##attr##_set(struct lpfc_vport *vport, int val) \
		vport->cfg_##attr = val;\
		vport->cfg_##attr = val;\
		return 0;\
		return 0;\
	}\
	}\
	lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT, \
	lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT, \
			"%d:0450 lpfc_"#attr" attribute cannot be set to %d, "\
			 "0450 lpfc_"#attr" attribute cannot be set to %d, "\
			"allowed range is ["#minval", "#maxval"]\n", \
			 "allowed range is ["#minval", "#maxval"]\n", val); \
			vport->phba->brd_no, val); \
	return -EINVAL;\
	return -EINVAL;\
}
}


@@ -1023,17 +1018,15 @@ lpfc_soft_wwpn_store(struct class_device *cdev, const char *buf, size_t count)
	stat1 = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
	stat1 = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
	if (stat1)
	if (stat1)
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
			"%d:0463 lpfc_soft_wwpn attribute set failed to reinit "
				"0463 lpfc_soft_wwpn attribute set failed to "
			"adapter - %d\n", phba->brd_no, stat1);
				"reinit adapter - %d\n", stat1);

	init_completion(&online_compl);
	init_completion(&online_compl);
	lpfc_workq_post_event(phba, &stat2, &online_compl, LPFC_EVT_ONLINE);
	lpfc_workq_post_event(phba, &stat2, &online_compl, LPFC_EVT_ONLINE);
	wait_for_completion(&online_compl);
	wait_for_completion(&online_compl);
	if (stat2)
	if (stat2)
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
			"%d:0464 lpfc_soft_wwpn attribute set failed to reinit "
				"0464 lpfc_soft_wwpn attribute set failed to "
			"adapter - %d\n", phba->brd_no, stat2);
				"reinit adapter - %d\n", stat2);

	return (stat1 || stat2) ? -EIO : count;
	return (stat1 || stat2) ? -EIO : count;
}
}
static CLASS_DEVICE_ATTR(lpfc_soft_wwpn, S_IRUGO | S_IWUSR,\
static CLASS_DEVICE_ATTR(lpfc_soft_wwpn, S_IRUGO | S_IWUSR,\
@@ -1145,11 +1138,10 @@ lpfc_nodev_tmo_init(struct lpfc_vport *vport, int val)
	if (vport->cfg_devloss_tmo != LPFC_DEF_DEVLOSS_TMO) {
	if (vport->cfg_devloss_tmo != LPFC_DEF_DEVLOSS_TMO) {
		vport->cfg_nodev_tmo = vport->cfg_devloss_tmo;
		vport->cfg_nodev_tmo = vport->cfg_devloss_tmo;
		if (val != LPFC_DEF_DEVLOSS_TMO)
		if (val != LPFC_DEF_DEVLOSS_TMO)
			lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT,
			lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
					"%d (%d):0402 Ignoring nodev_tmo module"
					 "0402 Ignoring nodev_tmo module "
					 "parameter because devloss_tmo is "
					 "parameter because devloss_tmo is "
					" set.\n",
					 "set.\n");
					vport->phba->brd_no, vport->vpi);
		return 0;
		return 0;
	}
	}


@@ -1158,11 +1150,10 @@ lpfc_nodev_tmo_init(struct lpfc_vport *vport, int val)
		vport->cfg_devloss_tmo = val;
		vport->cfg_devloss_tmo = val;
		return 0;
		return 0;
	}
	}
	lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT,
	lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
			"%d (%d):0400 lpfc_nodev_tmo attribute cannot be set to"
			 "0400 lpfc_nodev_tmo attribute cannot be set to"
			 " %d, allowed range is [%d, %d]\n",
			 " %d, allowed range is [%d, %d]\n",
			vport->phba->brd_no, vport->vpi, val,
			 val, LPFC_MIN_DEVLOSS_TMO, LPFC_MAX_DEVLOSS_TMO);
			LPFC_MIN_DEVLOSS_TMO, LPFC_MAX_DEVLOSS_TMO);
	vport->cfg_nodev_tmo = LPFC_DEF_DEVLOSS_TMO;
	vport->cfg_nodev_tmo = LPFC_DEF_DEVLOSS_TMO;
	return -EINVAL;
	return -EINVAL;
}
}
@@ -1195,10 +1186,9 @@ lpfc_nodev_tmo_set(struct lpfc_vport *vport, int val)
{
{
	if (vport->dev_loss_tmo_changed ||
	if (vport->dev_loss_tmo_changed ||
	    (lpfc_devloss_tmo != LPFC_DEF_DEVLOSS_TMO)) {
	    (lpfc_devloss_tmo != LPFC_DEF_DEVLOSS_TMO)) {
		lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"%d (%d):0401 Ignoring change to nodev_tmo "
				 "0401 Ignoring change to nodev_tmo "
				"because devloss_tmo is set.\n",
				 "because devloss_tmo is set.\n");
				vport->phba->brd_no, vport->vpi);
		return 0;
		return 0;
	}
	}
	if (val >= LPFC_MIN_DEVLOSS_TMO && val <= LPFC_MAX_DEVLOSS_TMO) {
	if (val >= LPFC_MIN_DEVLOSS_TMO && val <= LPFC_MAX_DEVLOSS_TMO) {
@@ -1207,11 +1197,10 @@ lpfc_nodev_tmo_set(struct lpfc_vport *vport, int val)
		lpfc_update_rport_devloss_tmo(vport);
		lpfc_update_rport_devloss_tmo(vport);
		return 0;
		return 0;
	}
	}
	lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT,
	lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
			"%d (%d):0403 lpfc_nodev_tmo attribute cannot be set to"
			 "0403 lpfc_nodev_tmo attribute cannot be set to"
			 "%d, allowed range is [%d, %d]\n",
			 "%d, allowed range is [%d, %d]\n",
			vport->phba->brd_no, vport->vpi, val,
			 val, LPFC_MIN_DEVLOSS_TMO, LPFC_MAX_DEVLOSS_TMO);
			LPFC_MIN_DEVLOSS_TMO, LPFC_MAX_DEVLOSS_TMO);
	return -EINVAL;
	return -EINVAL;
}
}


@@ -1243,11 +1232,10 @@ lpfc_devloss_tmo_set(struct lpfc_vport *vport, int val)
		return 0;
		return 0;
	}
	}


	lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT,
	lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
			"%d:0404 lpfc_devloss_tmo attribute cannot be set to"
			 "0404 lpfc_devloss_tmo attribute cannot be set to"
			 " %d, allowed range is [%d, %d]\n",
			 " %d, allowed range is [%d, %d]\n",
			vport->phba->brd_no, val, LPFC_MIN_DEVLOSS_TMO,
			 val, LPFC_MIN_DEVLOSS_TMO, LPFC_MAX_DEVLOSS_TMO);
			LPFC_MAX_DEVLOSS_TMO);
	return -EINVAL;
	return -EINVAL;
}
}


@@ -1273,7 +1261,8 @@ static CLASS_DEVICE_ATTR(lpfc_devloss_tmo, S_IRUGO | S_IWUSR,
# LOG_LIBDFC                    0x2000     LIBDFC events
# LOG_LIBDFC                    0x2000     LIBDFC events
# LOG_ALL_MSG                   0xffff     LOG all messages
# LOG_ALL_MSG                   0xffff     LOG all messages
*/
*/
LPFC_ATTR_HEX_RW(log_verbose, 0x0, 0x0, 0xffff, "Verbose logging bit-mask");
LPFC_VPORT_ATTR_HEX_RW(log_verbose, 0x0, 0x0, 0xffff,
		       "Verbose logging bit-mask");


/*
/*
# lun_queue_depth:  This parameter is used to limit the number of outstanding
# lun_queue_depth:  This parameter is used to limit the number of outstanding
@@ -1326,10 +1315,10 @@ static int
lpfc_restrict_login_init(struct lpfc_vport *vport, int val)
lpfc_restrict_login_init(struct lpfc_vport *vport, int val)
{
{
	if (val < 0 || val > 1) {
	if (val < 0 || val > 1) {
		lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"%d:0449 lpfc_restrict_login attribute cannot "
				 "0449 lpfc_restrict_login attribute cannot "
				 "be set to %d, allowed range is [0, 1]\n",
				 "be set to %d, allowed range is [0, 1]\n",
				vport->phba->brd_no, val);
				 val);
		vport->cfg_restrict_login = 1;
		vport->cfg_restrict_login = 1;
		return -EINVAL;
		return -EINVAL;
	}
	}
@@ -1345,18 +1334,17 @@ static int
lpfc_restrict_login_set(struct lpfc_vport *vport, int val)
lpfc_restrict_login_set(struct lpfc_vport *vport, int val)
{
{
	if (val < 0 || val > 1) {
	if (val < 0 || val > 1) {
		lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"%d:0450 lpfc_restrict_login attribute cannot "
				 "0450 lpfc_restrict_login attribute cannot "
				 "be set to %d, allowed range is [0, 1]\n",
				 "be set to %d, allowed range is [0, 1]\n",
				vport->phba->brd_no, val);
				 val);
		vport->cfg_restrict_login = 1;
		vport->cfg_restrict_login = 1;
		return -EINVAL;
		return -EINVAL;
	}
	}
	if (vport->port_type == LPFC_PHYSICAL_PORT && val != 0) {
	if (vport->port_type == LPFC_PHYSICAL_PORT && val != 0) {
		lpfc_printf_log(vport->phba, KERN_ERR, LOG_INIT,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"%d:0468 lpfc_restrict_login must be 0 for "
				 "0468 lpfc_restrict_login must be 0 for "
				"Physical ports.\n",
				 "Physical ports.\n");
				vport->phba->brd_no);
		vport->cfg_restrict_login = 0;
		vport->cfg_restrict_login = 0;
		return 0;
		return 0;
	}
	}
@@ -2435,7 +2423,6 @@ struct fc_function_template lpfc_vport_transport_functions = {
void
void
lpfc_get_cfgparam(struct lpfc_hba *phba)
lpfc_get_cfgparam(struct lpfc_hba *phba)
{
{
	lpfc_log_verbose_init(phba, lpfc_log_verbose);
	lpfc_cr_delay_init(phba, lpfc_cr_delay);
	lpfc_cr_delay_init(phba, lpfc_cr_delay);
	lpfc_cr_count_init(phba, lpfc_cr_count);
	lpfc_cr_count_init(phba, lpfc_cr_count);
	lpfc_multi_ring_support_init(phba, lpfc_multi_ring_support);
	lpfc_multi_ring_support_init(phba, lpfc_multi_ring_support);
@@ -2469,6 +2456,7 @@ lpfc_get_cfgparam(struct lpfc_hba *phba)
void
void
lpfc_get_vport_cfgparam(struct lpfc_vport *vport)
lpfc_get_vport_cfgparam(struct lpfc_vport *vport)
{
{
	lpfc_log_verbose_init(vport, lpfc_log_verbose);
	lpfc_lun_queue_depth_init(vport, lpfc_lun_queue_depth);
	lpfc_lun_queue_depth_init(vport, lpfc_lun_queue_depth);
	lpfc_devloss_tmo_init(vport, lpfc_devloss_tmo);
	lpfc_devloss_tmo_init(vport, lpfc_devloss_tmo);
	lpfc_nodev_tmo_init(vport, lpfc_nodev_tmo);
	lpfc_nodev_tmo_init(vport, lpfc_nodev_tmo);
+85 −105
Original line number Original line Diff line number Diff line
@@ -341,9 +341,9 @@ lpfc_gen_req(struct lpfc_vport *vport, struct lpfc_dmabuf *bmp,
	}
	}


	/* Issue GEN REQ IOCB for NPORT <did> */
	/* Issue GEN REQ IOCB for NPORT <did> */
	lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
	lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS,
			"%d (%d):0119 Issue GEN REQ IOCB to NPORT x%x "
			 "0119 Issue GEN REQ IOCB to NPORT x%x "
			"Data: x%x x%x\n", phba->brd_no, vport->vpi,
			 "Data: x%x x%x\n",
			 ndlp->nlp_DID, icmd->ulpIoTag,
			 ndlp->nlp_DID, icmd->ulpIoTag,
			 vport->port_state);
			 vport->port_state);
	geniocb->iocb_cmpl = cmpl;
	geniocb->iocb_cmpl = cmpl;
@@ -464,14 +464,13 @@ lpfc_ns_rsp(struct lpfc_vport *vport, struct lpfc_dmabuf *mp, uint32_t Size)
						Did, ndlp->nlp_flag,
						Did, ndlp->nlp_flag,
						vport->fc_flag);
						vport->fc_flag);


						lpfc_printf_log(phba, KERN_INFO,
						lpfc_printf_vlog(vport,
							KERN_INFO,
							LOG_DISCOVERY,
							LOG_DISCOVERY,
							"%d (%d):0238 Process "
							"0238 Process "
							"x%x NameServer Rsp"
							"x%x NameServer Rsp"
							"Data: x%x x%x x%x\n",
							"Data: x%x x%x x%x\n",
							phba->brd_no,
							Did, ndlp->nlp_flag,
							vport->vpi, Did,
							ndlp->nlp_flag,
							vport->fc_flag,
							vport->fc_flag,
							vport->fc_rscn_id_cnt);
							vport->fc_rscn_id_cnt);
					} else {
					} else {
@@ -482,14 +481,13 @@ lpfc_ns_rsp(struct lpfc_vport *vport, struct lpfc_dmabuf *mp, uint32_t Size)
						Did, vport->fc_flag,
						Did, vport->fc_flag,
						vport->fc_rscn_id_cnt);
						vport->fc_rscn_id_cnt);


						lpfc_printf_log(phba, KERN_INFO,
						lpfc_printf_vlog(vport,
							KERN_INFO,
							LOG_DISCOVERY,
							LOG_DISCOVERY,
							"%d (%d):0239 Skip x%x "
							"0239 Skip x%x "
							"NameServer Rsp Data: "
							"NameServer Rsp Data: "
							"x%x x%x\n",
							"x%x x%x\n",
							phba->brd_no,
							Did, vport->fc_flag,
							vport->vpi, Did,
							vport->fc_flag,
							vport->fc_rscn_id_cnt);
							vport->fc_rscn_id_cnt);
					}
					}


@@ -516,14 +514,13 @@ lpfc_ns_rsp(struct lpfc_vport *vport, struct lpfc_dmabuf *mp, uint32_t Size)
						Did, vport->fc_flag,
						Did, vport->fc_flag,
						vport->fc_rscn_id_cnt);
						vport->fc_rscn_id_cnt);


						lpfc_printf_log(phba, KERN_INFO,
						lpfc_printf_vlog(vport,
							KERN_INFO,
							LOG_DISCOVERY,
							LOG_DISCOVERY,
							"%d (%d):0245 Skip x%x "
							"0245 Skip x%x "
							"NameServer Rsp Data: "
							"NameServer Rsp Data: "
							"x%x x%x\n",
							"x%x x%x\n",
							phba->brd_no,
							Did, vport->fc_flag,
							vport->vpi, Did,
							vport->fc_flag,
							vport->fc_rscn_id_cnt);
							vport->fc_rscn_id_cnt);
					}
					}
				}
				}
@@ -570,9 +567,8 @@ lpfc_cmpl_ct_cmd_gid_ft(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,




	if (lpfc_els_chk_latt(vport) || lpfc_error_lost_link(irsp)) {
	if (lpfc_els_chk_latt(vport) || lpfc_error_lost_link(irsp)) {
		lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
		lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
				"%d (%d):0216 Link event during NS query\n",
				 "0216 Link event during NS query\n");
				phba->brd_no, vport->vpi);
		lpfc_vport_set_state(vport, FC_VPORT_FAILED);
		lpfc_vport_set_state(vport, FC_VPORT_FAILED);
		goto out;
		goto out;
	}
	}
@@ -590,19 +586,16 @@ lpfc_cmpl_ct_cmd_gid_ft(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
				goto out;
				goto out;
		}
		}
		lpfc_vport_set_state(vport, FC_VPORT_FAILED);
		lpfc_vport_set_state(vport, FC_VPORT_FAILED);
		lpfc_printf_log(phba, KERN_ERR, LOG_ELS,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS,
			"%d (%d):0257 GID_FT Query error: 0x%x 0x%x\n",
				 "0257 GID_FT Query error: 0x%x 0x%x\n",
			phba->brd_no, vport->vpi, irsp->ulpStatus,
				 irsp->ulpStatus, vport->fc_ns_retry);
			vport->fc_ns_retry);
	} else {
	} else {
		/* Good status, continue checking */
		/* Good status, continue checking */
		CTrsp = (struct lpfc_sli_ct_request *) outp->virt;
		CTrsp = (struct lpfc_sli_ct_request *) outp->virt;
		if (CTrsp->CommandResponse.bits.CmdRsp ==
		if (CTrsp->CommandResponse.bits.CmdRsp ==
		    be16_to_cpu(SLI_CT_RESPONSE_FS_ACC)) {
		    be16_to_cpu(SLI_CT_RESPONSE_FS_ACC)) {
			lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
			lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
					"%d (%d):0208 NameServer Rsp "
					 "0208 NameServer Rsp Data: x%x\n",
					"Data: x%x\n",
					phba->brd_no, vport->vpi,
					 vport->fc_flag);
					 vport->fc_flag);
			lpfc_ns_rsp(vport, outp,
			lpfc_ns_rsp(vport, outp,
				    (uint32_t) (irsp->un.genreq64.bdl.bdeSize));
				    (uint32_t) (irsp->un.genreq64.bdl.bdeSize));
@@ -611,10 +604,10 @@ lpfc_cmpl_ct_cmd_gid_ft(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
			/* NameServer Rsp Error */
			/* NameServer Rsp Error */
			if ((CTrsp->ReasonCode == SLI_CT_UNABLE_TO_PERFORM_REQ)
			if ((CTrsp->ReasonCode == SLI_CT_UNABLE_TO_PERFORM_REQ)
			    && (CTrsp->Explanation == SLI_CT_NO_FC4_TYPES)) {
			    && (CTrsp->Explanation == SLI_CT_NO_FC4_TYPES)) {
				lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
				lpfc_printf_vlog(vport, KERN_INFO,
					"%d (%d):0269 No NameServer Entries "
					LOG_DISCOVERY,
					"0269 No NameServer Entries "
					"Data: x%x x%x x%x x%x\n",
					"Data: x%x x%x x%x x%x\n",
					phba->brd_no, vport->vpi,
					CTrsp->CommandResponse.bits.CmdRsp,
					CTrsp->CommandResponse.bits.CmdRsp,
					(uint32_t) CTrsp->ReasonCode,
					(uint32_t) CTrsp->ReasonCode,
					(uint32_t) CTrsp->Explanation,
					(uint32_t) CTrsp->Explanation,
@@ -625,12 +618,11 @@ lpfc_cmpl_ct_cmd_gid_ft(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
				(uint32_t)CTrsp->CommandResponse.bits.CmdRsp,
				(uint32_t)CTrsp->CommandResponse.bits.CmdRsp,
				(uint32_t) CTrsp->ReasonCode,
				(uint32_t) CTrsp->ReasonCode,
				(uint32_t) CTrsp->Explanation);
				(uint32_t) CTrsp->Explanation);
			}
			} else {
			else {
				lpfc_printf_vlog(vport, KERN_INFO,
				lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
					LOG_DISCOVERY,
					"%d (%d):0240 NameServer Rsp Error "
					"0240 NameServer Rsp Error "
					"Data: x%x x%x x%x x%x\n",
					"Data: x%x x%x x%x x%x\n",
					phba->brd_no, vport->vpi,
					CTrsp->CommandResponse.bits.CmdRsp,
					CTrsp->CommandResponse.bits.CmdRsp,
					(uint32_t) CTrsp->ReasonCode,
					(uint32_t) CTrsp->ReasonCode,
					(uint32_t) CTrsp->Explanation,
					(uint32_t) CTrsp->Explanation,
@@ -646,10 +638,9 @@ lpfc_cmpl_ct_cmd_gid_ft(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,


		} else {
		} else {
			/* NameServer Rsp Error */
			/* NameServer Rsp Error */
			lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
			lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY,
					"%d (%d):0241 NameServer Rsp Error "
					"0241 NameServer Rsp Error "
					"Data: x%x x%x x%x x%x\n",
					"Data: x%x x%x x%x x%x\n",
					phba->brd_no, vport->vpi,
					CTrsp->CommandResponse.bits.CmdRsp,
					CTrsp->CommandResponse.bits.CmdRsp,
					(uint32_t) CTrsp->ReasonCode,
					(uint32_t) CTrsp->ReasonCode,
					(uint32_t) CTrsp->Explanation,
					(uint32_t) CTrsp->Explanation,
@@ -717,39 +708,36 @@ lpfc_cmpl_ct_cmd_gff_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
		    be16_to_cpu(SLI_CT_RESPONSE_FS_ACC)) {
		    be16_to_cpu(SLI_CT_RESPONSE_FS_ACC)) {
			if ((fbits & FC4_FEATURE_INIT) &&
			if ((fbits & FC4_FEATURE_INIT) &&
			    !(fbits & FC4_FEATURE_TARGET)) {
			    !(fbits & FC4_FEATURE_TARGET)) {
				lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
				lpfc_printf_vlog(vport, KERN_INFO,
						"%d (%d):0270 Skip x%x GFF "
						 LOG_DISCOVERY,
						 "0270 Skip x%x GFF "
						 "NameServer Rsp Data: (init) "
						 "NameServer Rsp Data: (init) "
						"x%x x%x\n", phba->brd_no,
						 "x%x x%x\n", did, fbits,
						vport->vpi, did, fbits,
						 vport->fc_rscn_id_cnt);
						 vport->fc_rscn_id_cnt);
				goto out;
				goto out;
			}
			}
		}
		}
	}
	}
	else {
	else {
		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY,
				"%d (%d):0267 NameServer GFF Rsp"
				 "0267 NameServer GFF Rsp "
				 "x%x Error (%d %d) Data: x%x x%x\n",
				 "x%x Error (%d %d) Data: x%x x%x\n",
				phba->brd_no, vport->vpi, did,
				 did, irsp->ulpStatus, irsp->un.ulpWord[4],
				irsp->ulpStatus, irsp->un.ulpWord[4],
				 vport->fc_flag, vport->fc_rscn_id_cnt)
				 vport->fc_flag, vport->fc_rscn_id_cnt)
	}
	}


	/* This is a target port, unregistered port, or the GFF_ID failed */
	/* This is a target port, unregistered port, or the GFF_ID failed */
	ndlp = lpfc_setup_disc_node(vport, did);
	ndlp = lpfc_setup_disc_node(vport, did);
	if (ndlp) {
	if (ndlp) {
		lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
		lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
				"%d (%d):0242 Process x%x GFF "
				 "0242 Process x%x GFF "
				 "NameServer Rsp Data: x%x x%x x%x\n",
				 "NameServer Rsp Data: x%x x%x x%x\n",
				phba->brd_no, vport->vpi,
				 did, ndlp->nlp_flag, vport->fc_flag,
				 did, ndlp->nlp_flag, vport->fc_flag,
				 vport->fc_rscn_id_cnt);
				 vport->fc_rscn_id_cnt);
	} else {
	} else {
		lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
		lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
				"%d (%d):0243 Skip x%x GFF "
				 "0243 Skip x%x GFF "
				"NameServer Rsp Data: x%x x%x\n",
				 "NameServer Rsp Data: x%x x%x\n", did,
				phba->brd_no, vport->vpi, did,
				 vport->fc_flag, vport->fc_rscn_id_cnt);
				 vport->fc_flag, vport->fc_rscn_id_cnt);
	}
	}
out:
out:
@@ -806,10 +794,10 @@ lpfc_cmpl_ct_cmd_rft_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
	latt = lpfc_els_chk_latt(vport);
	latt = lpfc_els_chk_latt(vport);


	/* RFT request completes status <ulpStatus> CmdRsp <CmdRsp> */
	/* RFT request completes status <ulpStatus> CmdRsp <CmdRsp> */
	lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
	lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
			"%d (%d):0209 RFT request completes, latt %d, "
			 "0209 RFT request completes, latt %d, "
			 "ulpStatus x%x CmdRsp x%x, Context x%x, Tag x%x\n",
			 "ulpStatus x%x CmdRsp x%x, Context x%x, Tag x%x\n",
			phba->brd_no, vport->vpi, latt, irsp->ulpStatus,
			 latt, irsp->ulpStatus,
			 CTrsp->CommandResponse.bits.CmdRsp,
			 CTrsp->CommandResponse.bits.CmdRsp,
			 cmdiocb->iocb.ulpContext, cmdiocb->iocb.ulpIoTag);
			 cmdiocb->iocb.ulpContext, cmdiocb->iocb.ulpIoTag);


@@ -818,10 +806,9 @@ lpfc_cmpl_ct_cmd_rft_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
		irsp->ulpStatus, irsp->un.ulpWord[4], cmdcode);
		irsp->ulpStatus, irsp->un.ulpWord[4], cmdcode);


	if (irsp->ulpStatus) {
	if (irsp->ulpStatus) {
		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY,
			"%d (%d):0268 NS cmd %x Error (%d %d)\n",
				 "0268 NS cmd %x Error (%d %d)\n",
			phba->brd_no, vport->vpi, cmdcode,
				 cmdcode, irsp->ulpStatus, irsp->un.ulpWord[4]);
			irsp->ulpStatus, irsp->un.ulpWord[4]);


		if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) &&
		if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) &&
			((irsp->un.ulpWord[4] == IOERR_SLI_DOWN) ||
			((irsp->un.ulpWord[4] == IOERR_SLI_DOWN) ||
@@ -833,9 +820,8 @@ lpfc_cmpl_ct_cmd_rft_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
			goto out;
			goto out;


		retry++;
		retry++;
		lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
		lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
				"%d (%d):0216 Retrying NS cmd %x\n",
				 "0216 Retrying NS cmd %x\n", cmdcode);
				phba->brd_no, vport->vpi, cmdcode);
		rc = lpfc_ns_cmd(vport, cmdcode, retry, 0);
		rc = lpfc_ns_cmd(vport, cmdcode, retry, 0);
		if (rc == 0)
		if (rc == 0)
			goto out;
			goto out;
@@ -979,10 +965,9 @@ lpfc_ns_cmd(struct lpfc_vport *vport, int cmdcode,
	}
	}


	/* NameServer Req */
	/* NameServer Req */
	lpfc_printf_log(phba, KERN_INFO ,LOG_DISCOVERY,
	lpfc_printf_vlog(vport, KERN_INFO ,LOG_DISCOVERY,
			"%d (%d):0236 NameServer Req Data: x%x x%x x%x\n",
			 "0236 NameServer Req Data: x%x x%x x%x\n",
			phba->brd_no, vport->vpi, cmdcode, vport->fc_flag,
			 cmdcode, vport->fc_flag, vport->fc_rscn_id_cnt);
			vport->fc_rscn_id_cnt);


	bpl = (struct ulp_bde64 *) bmp->virt;
	bpl = (struct ulp_bde64 *) bmp->virt;
	memset(bpl, 0, sizeof(struct ulp_bde64));
	memset(bpl, 0, sizeof(struct ulp_bde64));
@@ -1099,10 +1084,9 @@ ns_cmd_free_mpvirt:
ns_cmd_free_mp:
ns_cmd_free_mp:
	kfree(mp);
	kfree(mp);
ns_cmd_exit:
ns_cmd_exit:
	lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
	lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY,
		"%d (%d):0266 Issue NameServer Req x%x err %d Data: x%x x%x\n",
			 "0266 Issue NameServer Req x%x err %d Data: x%x x%x\n",
			phba->brd_no, vport->vpi, cmdcode, rc, vport->fc_flag,
			 cmdcode, rc, vport->fc_flag, vport->fc_rscn_id_cnt);
			vport->fc_rscn_id_cnt);
	return 1;
	return 1;
}
}


@@ -1128,10 +1112,9 @@ lpfc_cmpl_ct_cmd_fdmi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
		irsp->ulpStatus, irsp->un.ulpWord[4], latt);
		irsp->ulpStatus, irsp->un.ulpWord[4], latt);


	if (latt || irsp->ulpStatus) {
	if (latt || irsp->ulpStatus) {
		lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
		lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
			        "%d (%d):0229 FDMI cmd %04x failed, latt = %d "
				 "0229 FDMI cmd %04x failed, latt = %d "
				 "ulpStatus: x%x, rid x%x\n",
				 "ulpStatus: x%x, rid x%x\n",
			        phba->brd_no, vport->vpi,
				 be16_to_cpu(fdmi_cmd), latt, irsp->ulpStatus,
				 be16_to_cpu(fdmi_cmd), latt, irsp->ulpStatus,
				 irsp->un.ulpWord[4]);
				 irsp->un.ulpWord[4]);
		lpfc_ct_free_iocb(phba, cmdiocb);
		lpfc_ct_free_iocb(phba, cmdiocb);
@@ -1141,9 +1124,8 @@ lpfc_cmpl_ct_cmd_fdmi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
	ndlp = lpfc_findnode_did(vport, FDMI_DID);
	ndlp = lpfc_findnode_did(vport, FDMI_DID);
	if (fdmi_rsp == be16_to_cpu(SLI_CT_RESPONSE_FS_RJT)) {
	if (fdmi_rsp == be16_to_cpu(SLI_CT_RESPONSE_FS_RJT)) {
		/* FDMI rsp failed */
		/* FDMI rsp failed */
		lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
		lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
			        "%d (%d):0220 FDMI rsp failed Data: x%x\n",
				 "0220 FDMI rsp failed Data: x%x\n",
			        phba->brd_no, vport->vpi,
				 be16_to_cpu(fdmi_cmd));
				 be16_to_cpu(fdmi_cmd));
	}
	}


@@ -1207,11 +1189,9 @@ lpfc_fdmi_cmd(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, int cmdcode)
	INIT_LIST_HEAD(&bmp->list);
	INIT_LIST_HEAD(&bmp->list);


	/* FDMI request */
	/* FDMI request */
	lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
	lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
			"%d (%d):0218 FDMI Request Data: x%x x%x x%x\n",
			 "0218 FDMI Request Data: x%x x%x x%x\n",
			phba->brd_no, vport->vpi, vport->fc_flag,
			 vport->fc_flag, vport->port_state, cmdcode);
			vport->port_state, cmdcode);

	CtReq = (struct lpfc_sli_ct_request *) mp->virt;
	CtReq = (struct lpfc_sli_ct_request *) mp->virt;


	memset(CtReq, 0, sizeof(struct lpfc_sli_ct_request));
	memset(CtReq, 0, sizeof(struct lpfc_sli_ct_request));
@@ -1534,9 +1514,9 @@ fdmi_cmd_free_mp:
	kfree(mp);
	kfree(mp);
fdmi_cmd_exit:
fdmi_cmd_exit:
	/* Issue FDMI request failed */
	/* Issue FDMI request failed */
	lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
	lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
		        "%d (%d):0244 Issue FDMI request failed Data: x%x\n",
			 "0244 Issue FDMI request failed Data: x%x\n",
		        phba->brd_no, vport->vpi, cmdcode);
			 cmdcode);
	return 1;
	return 1;
}
}


+26 −36
Original line number Original line Diff line number Diff line
@@ -642,13 +642,11 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
		lpfc_debugfs_root = debugfs_create_dir("lpfc", NULL);
		lpfc_debugfs_root = debugfs_create_dir("lpfc", NULL);
		atomic_set(&lpfc_debugfs_hba_count, 0);
		atomic_set(&lpfc_debugfs_hba_count, 0);
		if (!lpfc_debugfs_root) {
		if (!lpfc_debugfs_root) {
			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
			lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"%d:0409 Cannot create debugfs root (lpfc)",
					 "0409 Cannot create debugfs root\n");
				phba->brd_no);
			goto debug_failed;
			goto debug_failed;
		}
		}
	}
	}

	if (!lpfc_debugfs_start_time)
	if (!lpfc_debugfs_start_time)
		lpfc_debugfs_start_time = jiffies;
		lpfc_debugfs_start_time = jiffies;


@@ -658,9 +656,8 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
		phba->hba_debugfs_root =
		phba->hba_debugfs_root =
			debugfs_create_dir(name, lpfc_debugfs_root);
			debugfs_create_dir(name, lpfc_debugfs_root);
		if (!phba->hba_debugfs_root) {
		if (!phba->hba_debugfs_root) {
			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
			lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"%d:0409 Cannot create debugfs hba (lpfc%d)",
					 "0409 Cannot create debugfs hba\n");
				phba->brd_no, phba->brd_no);
			goto debug_failed;
			goto debug_failed;
		}
		}
		atomic_inc(&lpfc_debugfs_hba_count);
		atomic_inc(&lpfc_debugfs_hba_count);
@@ -673,9 +670,8 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
				 phba->hba_debugfs_root,
				 phba->hba_debugfs_root,
				 phba, &lpfc_debugfs_op_dumpslim);
				 phba, &lpfc_debugfs_op_dumpslim);
		if (!phba->debug_dumpslim) {
		if (!phba->debug_dumpslim) {
			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
			lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
			"%d:0409 Cannot create debugfs dumpslim (lpfc%d)",
				"0409 Cannot create debugfs dumpslim\n");
				phba->brd_no, phba->brd_no);
			goto debug_failed;
			goto debug_failed;
		}
		}


@@ -692,8 +688,8 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
				}
				}
				lpfc_debugfs_max_slow_ring_trc = (1 << i);
				lpfc_debugfs_max_slow_ring_trc = (1 << i);
				printk(KERN_ERR
				printk(KERN_ERR
				"lpfc_debugfs_max_slow_ring_trc change to %d\n",
				       "lpfc_debugfs_max_disc_trc changed to "
					lpfc_debugfs_max_slow_ring_trc);
				       "%d\n", lpfc_debugfs_max_disc_trc);
			}
			}
		}
		}


@@ -704,10 +700,9 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
				 phba->hba_debugfs_root,
				 phba->hba_debugfs_root,
				 phba, &lpfc_debugfs_op_slow_ring_trc);
				 phba, &lpfc_debugfs_op_slow_ring_trc);
		if (!phba->debug_slow_ring_trc) {
		if (!phba->debug_slow_ring_trc) {
			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
			lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"%d:0409 Cannot create debugfs "
					 "0409 Cannot create debugfs "
				"slow_ring_trace (lpfc%d)",
					 "slow_ring_trace\n");
				phba->brd_no, phba->brd_no);
			goto debug_failed;
			goto debug_failed;
		}
		}
		if (!phba->slow_ring_trc) {
		if (!phba->slow_ring_trc) {
@@ -716,10 +711,9 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
				lpfc_debugfs_max_slow_ring_trc),
				lpfc_debugfs_max_slow_ring_trc),
				GFP_KERNEL);
				GFP_KERNEL);
			if (!phba->slow_ring_trc) {
			if (!phba->slow_ring_trc) {
				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
				lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"%d:0409 Cannot create debugfs "
						 "0409 Cannot create debugfs "
				"slow_ring buffer (lpfc%d)",
						 "slow_ring buffer\n");
				phba->brd_no, phba->brd_no);
				goto debug_failed;
				goto debug_failed;
			}
			}
			atomic_set(&phba->slow_ring_trc_cnt, 0);
			atomic_set(&phba->slow_ring_trc_cnt, 0);
@@ -734,9 +728,8 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
		vport->vport_debugfs_root =
		vport->vport_debugfs_root =
			debugfs_create_dir(name, phba->hba_debugfs_root);
			debugfs_create_dir(name, phba->hba_debugfs_root);
		if (!vport->vport_debugfs_root) {
		if (!vport->vport_debugfs_root) {
			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
			lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"%d:0409 Cant create debugfs vport%d (lpfc%d)",
					 "0409 Cant create debugfs");
				phba->brd_no, vport->vpi, phba->brd_no);
			goto debug_failed;
			goto debug_failed;
		}
		}
		atomic_inc(&phba->debugfs_vport_count);
		atomic_inc(&phba->debugfs_vport_count);
@@ -764,10 +757,9 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
		GFP_KERNEL);
		GFP_KERNEL);


	if (!vport->disc_trc) {
	if (!vport->disc_trc) {
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
			"%d:0409 Cannot create debugfs "
				 "0409 Cannot create debugfs disc trace "
			"vport%d disc trace buffer (lpfc%d)",
				 "buffer\n");
			phba->brd_no, vport->vpi, phba->brd_no);
		goto debug_failed;
		goto debug_failed;
	}
	}
	atomic_set(&vport->disc_trc_cnt, 0);
	atomic_set(&vport->disc_trc_cnt, 0);
@@ -780,10 +772,9 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
				 vport->vport_debugfs_root,
				 vport->vport_debugfs_root,
				 vport, &lpfc_debugfs_op_disc_trc);
				 vport, &lpfc_debugfs_op_disc_trc);
	if (!vport->debug_disc_trc) {
	if (!vport->debug_disc_trc) {
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
			"%d:0409 Cannot create debugfs "
				 "0409 Cannot create debugfs "
			"vport%d discovery_trace (lpfc%d)",
				 "discovery_trace\n");
			phba->brd_no, vport->vpi, phba->brd_no);
		goto debug_failed;
		goto debug_failed;
	}
	}
	snprintf(name, sizeof(name), "nodelist");
	snprintf(name, sizeof(name), "nodelist");
@@ -792,9 +783,8 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
				 vport->vport_debugfs_root,
				 vport->vport_debugfs_root,
				 vport, &lpfc_debugfs_op_nodelist);
				 vport, &lpfc_debugfs_op_nodelist);
	if (!vport->debug_nodelist) {
	if (!vport->debug_nodelist) {
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
		lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
			"%d:0409 Cant create debugfs vport%d nodelist (lpfc%d)",
				 "0409 Cant create debugfs nodelist");
			phba->brd_no, vport->vpi, phba->brd_no);
		goto debug_failed;
		goto debug_failed;
	}
	}
debug_failed:
debug_failed:
+221 −312

File changed.

Preview size limit exceeded, changes collapsed.

Loading