lpfc: Remove global lpfc_delay_discovery attribute in leiu of per-hba lpfc_delay_discovery
Remove global lpfc_delay_discovery attribute in leiu of per-hba lpfc_delay_discovery Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <james.smart@broadcom.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
458c083e83
commit
8eb8b960fd
@@ -754,6 +754,7 @@ struct lpfc_hba {
|
|||||||
uint32_t cfg_iocb_cnt;
|
uint32_t cfg_iocb_cnt;
|
||||||
uint32_t cfg_suppress_link_up;
|
uint32_t cfg_suppress_link_up;
|
||||||
uint32_t cfg_rrq_xri_bitmap_sz;
|
uint32_t cfg_rrq_xri_bitmap_sz;
|
||||||
|
uint32_t cfg_delay_discovery;
|
||||||
#define LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */
|
#define LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */
|
||||||
#define LPFC_DELAY_INIT_LINK 1 /* layered driver hold off */
|
#define LPFC_DELAY_INIT_LINK 1 /* layered driver hold off */
|
||||||
#define LPFC_DELAY_INIT_LINK_INDEFINITELY 2 /* wait, manual intervention */
|
#define LPFC_DELAY_INIT_LINK_INDEFINITELY 2 /* wait, manual intervention */
|
||||||
|
|||||||
@@ -4815,11 +4815,8 @@ MODULE_PARM_DESC(lpfc_prot_guard, "host protection guard type");
|
|||||||
* accept and FCID/Fabric name/Fabric portname is changed.
|
* accept and FCID/Fabric name/Fabric portname is changed.
|
||||||
* Default value is 0.
|
* Default value is 0.
|
||||||
*/
|
*/
|
||||||
int lpfc_delay_discovery;
|
LPFC_ATTR(delay_discovery, 0, 0, 1,
|
||||||
module_param(lpfc_delay_discovery, int, S_IRUGO);
|
"Delay NPort discovery when Clean Address bit is cleared.");
|
||||||
MODULE_PARM_DESC(lpfc_delay_discovery,
|
|
||||||
"Delay NPort discovery when Clean Address bit is cleared. "
|
|
||||||
"Allowed values: 0,1.");
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* lpfc_sg_seg_cnt - Initial Maximum DMA Segment Count
|
* lpfc_sg_seg_cnt - Initial Maximum DMA Segment Count
|
||||||
@@ -5938,6 +5935,7 @@ lpfc_get_cfgparam(struct lpfc_hba *phba)
|
|||||||
lpfc_request_firmware_upgrade_init(phba, lpfc_req_fw_upgrade);
|
lpfc_request_firmware_upgrade_init(phba, lpfc_req_fw_upgrade);
|
||||||
lpfc_suppress_link_up_init(phba, lpfc_suppress_link_up);
|
lpfc_suppress_link_up_init(phba, lpfc_suppress_link_up);
|
||||||
lpfc_iocb_cnt_init(phba, lpfc_iocb_cnt);
|
lpfc_iocb_cnt_init(phba, lpfc_iocb_cnt);
|
||||||
|
lpfc_delay_discovery_init(phba, lpfc_delay_discovery);
|
||||||
phba->cfg_enable_dss = 1;
|
phba->cfg_enable_dss = 1;
|
||||||
lpfc_enable_mds_diags_init(phba, lpfc_enable_mds_diags);
|
lpfc_enable_mds_diags_init(phba, lpfc_enable_mds_diags);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -360,7 +360,6 @@ extern struct scsi_host_template lpfc_vport_template;
|
|||||||
extern struct fc_function_template lpfc_transport_functions;
|
extern struct fc_function_template lpfc_transport_functions;
|
||||||
extern struct fc_function_template lpfc_vport_transport_functions;
|
extern struct fc_function_template lpfc_vport_transport_functions;
|
||||||
extern int lpfc_sli_mode;
|
extern int lpfc_sli_mode;
|
||||||
extern int lpfc_delay_discovery;
|
|
||||||
|
|
||||||
int lpfc_vport_symbolic_node_name(struct lpfc_vport *, char *, size_t);
|
int lpfc_vport_symbolic_node_name(struct lpfc_vport *, char *, size_t);
|
||||||
int lpfc_vport_symbolic_port_name(struct lpfc_vport *, char *, size_t);
|
int lpfc_vport_symbolic_port_name(struct lpfc_vport *, char *, size_t);
|
||||||
|
|||||||
@@ -594,6 +594,7 @@ static uint8_t
|
|||||||
lpfc_check_clean_addr_bit(struct lpfc_vport *vport,
|
lpfc_check_clean_addr_bit(struct lpfc_vport *vport,
|
||||||
struct serv_parm *sp)
|
struct serv_parm *sp)
|
||||||
{
|
{
|
||||||
|
struct lpfc_hba *phba = vport->phba;
|
||||||
uint8_t fabric_param_changed = 0;
|
uint8_t fabric_param_changed = 0;
|
||||||
struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
|
struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
|
||||||
|
|
||||||
@@ -615,7 +616,7 @@ lpfc_check_clean_addr_bit(struct lpfc_vport *vport,
|
|||||||
* - lpfc_delay_discovery module parameter is set.
|
* - lpfc_delay_discovery module parameter is set.
|
||||||
*/
|
*/
|
||||||
if (fabric_param_changed && !sp->cmn.clean_address_bit &&
|
if (fabric_param_changed && !sp->cmn.clean_address_bit &&
|
||||||
(vport->fc_prevDID || lpfc_delay_discovery)) {
|
(vport->fc_prevDID || phba->cfg_delay_discovery)) {
|
||||||
spin_lock_irq(shost->host_lock);
|
spin_lock_irq(shost->host_lock);
|
||||||
vport->fc_flag |= FC_DISC_DELAYED;
|
vport->fc_flag |= FC_DISC_DELAYED;
|
||||||
spin_unlock_irq(shost->host_lock);
|
spin_unlock_irq(shost->host_lock);
|
||||||
|
|||||||
Reference in New Issue
Block a user