aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2013-12-17 20:29:22 -0500
committerJames Bottomley <JBottomley@Parallels.com>2014-03-15 13:18:54 -0400
commit646a2dd7515177376cf12aeb60bd6d462d61c5b8 (patch)
tree9b836690adfd83d30013b920d8c39069e2c73b24
parent76f96b6dfddf7804b3d33ede60a0c63bae271361 (diff)
[SCSI] lpfc 8.3.44: Fixed stopped FCF discovery on failed FCF record read
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r--drivers/scsi/lpfc/lpfc_hbadisc.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c
index 883ea2d9f237..d6cc131a1221 100644
--- a/drivers/scsi/lpfc/lpfc_hbadisc.c
+++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
@@ -2545,8 +2545,11 @@ lpfc_mbx_cmpl_fcf_rr_read_fcf_rec(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
2545 if (!new_fcf_record) { 2545 if (!new_fcf_record) {
2546 lpfc_printf_log(phba, KERN_WARNING, LOG_FIP, 2546 lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
2547 "2766 Mailbox command READ_FCF_RECORD " 2547 "2766 Mailbox command READ_FCF_RECORD "
2548 "failed to retrieve a FCF record.\n"); 2548 "failed to retrieve a FCF record. "
2549 goto error_out; 2549 "hba_flg x%x fcf_flg x%x\n", phba->hba_flag,
2550 phba->fcf.fcf_flag);
2551 lpfc_unregister_fcf_rescan(phba);
2552 goto out;
2550 } 2553 }
2551 2554
2552 /* Get the needed parameters from FCF record */ 2555 /* Get the needed parameters from FCF record */
@@ -3973,7 +3976,10 @@ lpfc_nlp_counters(struct lpfc_vport *vport, int state, int count)
3973 vport->fc_map_cnt += count; 3976 vport->fc_map_cnt += count;
3974 break; 3977 break;
3975 case NLP_STE_NPR_NODE: 3978 case NLP_STE_NPR_NODE:
3976 vport->fc_npr_cnt += count; 3979 if (vport->fc_npr_cnt == 0 && count == -1)
3980 vport->fc_npr_cnt = 0;
3981 else
3982 vport->fc_npr_cnt += count;
3977 break; 3983 break;
3978 } 3984 }
3979 spin_unlock_irq(shost->host_lock); 3985 spin_unlock_irq(shost->host_lock);