diff options
-rw-r--r-- | drivers/scsi/lpfc/lpfc.h | 1 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_attr.c | 8 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_crtn.h | 1 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_els.c | 3 |
4 files changed, 6 insertions, 7 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h index 40e069c76091..82d7b115b650 100644 --- a/drivers/scsi/lpfc/lpfc.h +++ b/drivers/scsi/lpfc/lpfc.h | |||
@@ -754,6 +754,7 @@ struct lpfc_hba { | |||
754 | uint32_t cfg_iocb_cnt; | 754 | uint32_t cfg_iocb_cnt; |
755 | uint32_t cfg_suppress_link_up; | 755 | uint32_t cfg_suppress_link_up; |
756 | uint32_t cfg_rrq_xri_bitmap_sz; | 756 | uint32_t cfg_rrq_xri_bitmap_sz; |
757 | uint32_t cfg_delay_discovery; | ||
757 | #define LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */ | 758 | #define LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */ |
758 | #define LPFC_DELAY_INIT_LINK 1 /* layered driver hold off */ | 759 | #define LPFC_DELAY_INIT_LINK 1 /* layered driver hold off */ |
759 | #define LPFC_DELAY_INIT_LINK_INDEFINITELY 2 /* wait, manual intervention */ | 760 | #define LPFC_DELAY_INIT_LINK_INDEFINITELY 2 /* wait, manual intervention */ |
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 25d91a86e4a6..f5abcea49730 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c | |||
@@ -4815,11 +4815,8 @@ MODULE_PARM_DESC(lpfc_prot_guard, "host protection guard type"); | |||
4815 | * accept and FCID/Fabric name/Fabric portname is changed. | 4815 | * accept and FCID/Fabric name/Fabric portname is changed. |
4816 | * Default value is 0. | 4816 | * Default value is 0. |
4817 | */ | 4817 | */ |
4818 | int lpfc_delay_discovery; | 4818 | LPFC_ATTR(delay_discovery, 0, 0, 1, |
4819 | module_param(lpfc_delay_discovery, int, S_IRUGO); | 4819 | "Delay NPort discovery when Clean Address bit is cleared."); |
4820 | MODULE_PARM_DESC(lpfc_delay_discovery, | ||
4821 | "Delay NPort discovery when Clean Address bit is cleared. " | ||
4822 | "Allowed values: 0,1."); | ||
4823 | 4820 | ||
4824 | /* | 4821 | /* |
4825 | * lpfc_sg_seg_cnt - Initial Maximum DMA Segment Count | 4822 | * lpfc_sg_seg_cnt - Initial Maximum DMA Segment Count |
@@ -5938,6 +5935,7 @@ lpfc_get_cfgparam(struct lpfc_hba *phba) | |||
5938 | lpfc_request_firmware_upgrade_init(phba, lpfc_req_fw_upgrade); | 5935 | lpfc_request_firmware_upgrade_init(phba, lpfc_req_fw_upgrade); |
5939 | lpfc_suppress_link_up_init(phba, lpfc_suppress_link_up); | 5936 | lpfc_suppress_link_up_init(phba, lpfc_suppress_link_up); |
5940 | lpfc_iocb_cnt_init(phba, lpfc_iocb_cnt); | 5937 | lpfc_iocb_cnt_init(phba, lpfc_iocb_cnt); |
5938 | lpfc_delay_discovery_init(phba, lpfc_delay_discovery); | ||
5941 | phba->cfg_enable_dss = 1; | 5939 | phba->cfg_enable_dss = 1; |
5942 | lpfc_enable_mds_diags_init(phba, lpfc_enable_mds_diags); | 5940 | lpfc_enable_mds_diags_init(phba, lpfc_enable_mds_diags); |
5943 | return; | 5941 | return; |
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index b8a2ddc49e50..9f075db51099 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h | |||
@@ -360,7 +360,6 @@ extern struct scsi_host_template lpfc_vport_template; | |||
360 | extern struct fc_function_template lpfc_transport_functions; | 360 | extern struct fc_function_template lpfc_transport_functions; |
361 | extern struct fc_function_template lpfc_vport_transport_functions; | 361 | extern struct fc_function_template lpfc_vport_transport_functions; |
362 | extern int lpfc_sli_mode; | 362 | extern int lpfc_sli_mode; |
363 | extern int lpfc_delay_discovery; | ||
364 | 363 | ||
365 | int lpfc_vport_symbolic_node_name(struct lpfc_vport *, char *, size_t); | 364 | int lpfc_vport_symbolic_node_name(struct lpfc_vport *, char *, size_t); |
366 | int lpfc_vport_symbolic_port_name(struct lpfc_vport *, char *, size_t); | 365 | int lpfc_vport_symbolic_port_name(struct lpfc_vport *, char *, size_t); |
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 5afbf4d06d53..c0af32f24954 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
@@ -594,6 +594,7 @@ static uint8_t | |||
594 | lpfc_check_clean_addr_bit(struct lpfc_vport *vport, | 594 | lpfc_check_clean_addr_bit(struct lpfc_vport *vport, |
595 | struct serv_parm *sp) | 595 | struct serv_parm *sp) |
596 | { | 596 | { |
597 | struct lpfc_hba *phba = vport->phba; | ||
597 | uint8_t fabric_param_changed = 0; | 598 | uint8_t fabric_param_changed = 0; |
598 | struct Scsi_Host *shost = lpfc_shost_from_vport(vport); | 599 | struct Scsi_Host *shost = lpfc_shost_from_vport(vport); |
599 | 600 | ||
@@ -615,7 +616,7 @@ lpfc_check_clean_addr_bit(struct lpfc_vport *vport, | |||
615 | * - lpfc_delay_discovery module parameter is set. | 616 | * - lpfc_delay_discovery module parameter is set. |
616 | */ | 617 | */ |
617 | if (fabric_param_changed && !sp->cmn.clean_address_bit && | 618 | if (fabric_param_changed && !sp->cmn.clean_address_bit && |
618 | (vport->fc_prevDID || lpfc_delay_discovery)) { | 619 | (vport->fc_prevDID || phba->cfg_delay_discovery)) { |
619 | spin_lock_irq(shost->host_lock); | 620 | spin_lock_irq(shost->host_lock); |
620 | vport->fc_flag |= FC_DISC_DELAYED; | 621 | vport->fc_flag |= FC_DISC_DELAYED; |
621 | spin_unlock_irq(shost->host_lock); | 622 | spin_unlock_irq(shost->host_lock); |