diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_attr.c')
| -rw-r--r-- | drivers/scsi/lpfc/lpfc_attr.c | 23 | 
1 files changed, 14 insertions, 9 deletions
| diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 5a25553415f8..1a6ed9b0a249 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c @@ -360,12 +360,12 @@ lpfc_nvme_info_show(struct device *dev, struct device_attribute *attr,  		goto buffer_done;  	list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { +		nrport = NULL; +		spin_lock(&vport->phba->hbalock);  		rport = lpfc_ndlp_get_nrport(ndlp); -		if (!rport) -			continue; - -		/* local short-hand pointer. */ -		nrport = rport->remoteport; +		if (rport) +			nrport = rport->remoteport; +		spin_unlock(&vport->phba->hbalock);  		if (!nrport)  			continue; @@ -3386,6 +3386,7 @@ lpfc_update_rport_devloss_tmo(struct lpfc_vport *vport)  	struct lpfc_nodelist  *ndlp;  #if (IS_ENABLED(CONFIG_NVME_FC))  	struct lpfc_nvme_rport *rport; +	struct nvme_fc_remote_port *remoteport = NULL;  #endif  	shost = lpfc_shost_from_vport(vport); @@ -3396,8 +3397,12 @@ lpfc_update_rport_devloss_tmo(struct lpfc_vport *vport)  		if (ndlp->rport)  			ndlp->rport->dev_loss_tmo = vport->cfg_devloss_tmo;  #if (IS_ENABLED(CONFIG_NVME_FC)) +		spin_lock(&vport->phba->hbalock);  		rport = lpfc_ndlp_get_nrport(ndlp);  		if (rport) +			remoteport = rport->remoteport; +		spin_unlock(&vport->phba->hbalock); +		if (remoteport)  			nvme_fc_set_remoteport_devloss(rport->remoteport,  						       vport->cfg_devloss_tmo);  #endif @@ -5122,16 +5127,16 @@ LPFC_ATTR_R(enable_SmartSAN, 0, 0, 1, "Enable SmartSAN functionality");  /*  # lpfc_fdmi_on: Controls FDMI support. -#       0       No FDMI support (default) -#       1       Traditional FDMI support +#       0       No FDMI support +#       1       Traditional FDMI support (default)  # Traditional FDMI support means the driver will assume FDMI-2 support;  # however, if that fails, it will fallback to FDMI-1.  # If lpfc_enable_SmartSAN is set to 1, the driver ignores lpfc_fdmi_on.  # If lpfc_enable_SmartSAN is set 0, the driver uses the current value of  # lpfc_fdmi_on. -# Value range [0,1]. Default value is 0. +# Value range [0,1]. Default value is 1.  */ -LPFC_ATTR_R(fdmi_on, 0, 0, 1, "Enable FDMI support"); +LPFC_ATTR_R(fdmi_on, 1, 0, 1, "Enable FDMI support");  /*  # Specifies the maximum number of ELS cmds we can have outstanding (for |