lpfc: Fix FCF Infinite loop in lpfc_sli4_fcf_rr_next_index_get.

Fix FCF Infinite loop in lpfc_sli4_fcf_rr_next_index_get.

Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
James Smart 2015-12-16 18:11:52 -05:00 committed by Martin K. Petersen
parent df2d8213d9
commit f5cb5304eb

View File

@ -16173,7 +16173,7 @@ fail_fcf_read:
} }
/** /**
* lpfc_check_next_fcf_pri * lpfc_check_next_fcf_pri_level
* phba pointer to the lpfc_hba struct for this port. * phba pointer to the lpfc_hba struct for this port.
* This routine is called from the lpfc_sli4_fcf_rr_next_index_get * This routine is called from the lpfc_sli4_fcf_rr_next_index_get
* routine when the rr_bmask is empty. The FCF indecies are put into the * routine when the rr_bmask is empty. The FCF indecies are put into the
@ -16329,8 +16329,12 @@ next_priority:
if (next_fcf_index < LPFC_SLI4_FCF_TBL_INDX_MAX && if (next_fcf_index < LPFC_SLI4_FCF_TBL_INDX_MAX &&
phba->fcf.fcf_pri[next_fcf_index].fcf_rec.flag & phba->fcf.fcf_pri[next_fcf_index].fcf_rec.flag &
LPFC_FCF_FLOGI_FAILED) LPFC_FCF_FLOGI_FAILED) {
if (list_is_singular(&phba->fcf.fcf_pri_list))
return LPFC_FCOE_FCF_NEXT_NONE;
goto next_priority; goto next_priority;
}
lpfc_printf_log(phba, KERN_INFO, LOG_FIP, lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
"2845 Get next roundrobin failover FCF (x%x)\n", "2845 Get next roundrobin failover FCF (x%x)\n",