diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_els.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_els.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 4c25485aa934..c66088d0fd2a 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
@@ -2225,6 +2225,15 @@ lpfc_adisc_done(struct lpfc_vport *vport) | |||
2225 | if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) && | 2225 | if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) && |
2226 | !(vport->fc_flag & FC_RSCN_MODE) && | 2226 | !(vport->fc_flag & FC_RSCN_MODE) && |
2227 | (phba->sli_rev < LPFC_SLI_REV4)) { | 2227 | (phba->sli_rev < LPFC_SLI_REV4)) { |
2228 | /* The ADISCs are complete. Doesn't matter if they | ||
2229 | * succeeded or failed because the ADISC completion | ||
2230 | * routine guarantees to call the state machine and | ||
2231 | * the RPI is either unregistered (failed ADISC response) | ||
2232 | * or the RPI is still valid and the node is marked | ||
2233 | * mapped for a target. The exchanges should be in the | ||
2234 | * correct state. This code is specific to SLI3. | ||
2235 | */ | ||
2236 | lpfc_issue_clear_la(phba, vport); | ||
2228 | lpfc_issue_reg_vpi(phba, vport); | 2237 | lpfc_issue_reg_vpi(phba, vport); |
2229 | return; | 2238 | return; |
2230 | } | 2239 | } |