scsi: lpfc: fcoe: Fix link down issue after 1000+ link bounces
On FCoE adapters, when running link bounce test in a loop, initiator failed to login with switch switch and required driver reload to recover. Switch reached a point where all subsequent FLOGIs would be LS_RJT'd. Further testing showed the condition to be related to not performing FCF discovery between FLOGI's. Fix by monitoring FLOGI failures and once a repeated error is seen repeat FCF discovery. Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <jsmart2021@gmail.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:

committed by
Martin K. Petersen

parent
191e2f7493
commit
036cad1f1a
@@ -18712,15 +18712,8 @@ next_priority:
|
||||
goto initial_priority;
|
||||
lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
|
||||
"2844 No roundrobin failover FCF available\n");
|
||||
if (next_fcf_index >= LPFC_SLI4_FCF_TBL_INDX_MAX)
|
||||
return LPFC_FCOE_FCF_NEXT_NONE;
|
||||
else {
|
||||
lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
|
||||
"3063 Only FCF available idx %d, flag %x\n",
|
||||
next_fcf_index,
|
||||
phba->fcf.fcf_pri[next_fcf_index].fcf_rec.flag);
|
||||
return next_fcf_index;
|
||||
}
|
||||
|
||||
return LPFC_FCOE_FCF_NEXT_NONE;
|
||||
}
|
||||
|
||||
if (next_fcf_index < LPFC_SLI4_FCF_TBL_INDX_MAX &&
|
||||
|
Reference in New Issue
Block a user