diff options
Diffstat (limited to 'drivers/scsi/lpfc')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index cc834555689d..7801601aa5d9 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -4457,7 +4457,15 @@ lpfc_unreg_rpi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) | |||
4457 | int rc; | 4457 | int rc; |
4458 | uint16_t rpi; | 4458 | uint16_t rpi; |
4459 | 4459 | ||
4460 | if (ndlp->nlp_flag & NLP_RPI_REGISTERED) { | 4460 | if (ndlp->nlp_flag & NLP_RPI_REGISTERED || |
4461 | ndlp->nlp_flag & NLP_REG_LOGIN_SEND) { | ||
4462 | if (ndlp->nlp_flag & NLP_REG_LOGIN_SEND) | ||
4463 | lpfc_printf_vlog(vport, KERN_INFO, LOG_SLI, | ||
4464 | "3366 RPI x%x needs to be " | ||
4465 | "unregistered nlp_flag x%x " | ||
4466 | "did x%x\n", | ||
4467 | ndlp->nlp_rpi, ndlp->nlp_flag, | ||
4468 | ndlp->nlp_DID); | ||
4461 | mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); | 4469 | mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); |
4462 | if (mbox) { | 4470 | if (mbox) { |
4463 | /* SLI4 ports require the physical rpi value. */ | 4471 | /* SLI4 ports require the physical rpi value. */ |