aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_sli.c
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2010-06-08 18:31:37 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 12:01:36 -0500
commitdbb6b3ab10464aa11df74c0d0a14e869a8c6fd1b (patch)
tree88d59281937042a9cd8c4a93573f838763e8c7c7 /drivers/scsi/lpfc/lpfc_sli.c
parent75baf69657ea2107f2c202cd29dada206ae4b7c4 (diff)
downloadkernel_samsung_smdk4412-dbb6b3ab10464aa11df74c0d0a14e869a8c6fd1b.zip
kernel_samsung_smdk4412-dbb6b3ab10464aa11df74c0d0a14e869a8c6fd1b.tar.gz
kernel_samsung_smdk4412-dbb6b3ab10464aa11df74c0d0a14e869a8c6fd1b.tar.bz2
[SCSI] lpfc 8.3.14: FCoE Discovery Fixes
- Prevent unregistring of unused FCF when FLOGI is pending. - Prevent point to point discovery on a FCoE HBA. - Fixed FCF discovery failure after swapping FCoE port by switching over to fast failover method when no FCF matches in-use FCF. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_sli.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index 9c60954..f38c05d 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -12404,7 +12404,8 @@ lpfc_sli4_fcf_rr_next_index_get(struct lpfc_hba *phba)
next_fcf_index = find_next_bit(phba->fcf.fcf_rr_bmask,
LPFC_SLI4_FCF_TBL_INDX_MAX, 0);
/* Round robin failover stop condition */
- if (next_fcf_index == phba->fcf.fcf_rr_init_indx)
+ if ((next_fcf_index == phba->fcf.fcf_rr_init_indx) ||
+ (next_fcf_index >= LPFC_SLI4_FCF_TBL_INDX_MAX))
return LPFC_FCOE_FCF_NEXT_NONE;
return next_fcf_index;