|
@@ -1559,15 +1559,6 @@ static struct fcoe_fcf *fcoe_ctlr_select(struct fcoe_ctlr *fip)
|
|
|
fcf->fabric_name, fcf->vfid, fcf->fcf_mac,
|
|
|
fcf->fc_map, fcoe_ctlr_mtu_valid(fcf),
|
|
|
fcf->flogi_sent, fcf->pri);
|
|
|
- if (fcf->fabric_name != first->fabric_name ||
|
|
|
- fcf->vfid != first->vfid ||
|
|
|
- fcf->fc_map != first->fc_map) {
|
|
|
- LIBFCOE_FIP_DBG(fip, "Conflicting fabric, VFID, "
|
|
|
- "or FC-MAP\n");
|
|
|
- return NULL;
|
|
|
- }
|
|
|
- if (fcf->flogi_sent)
|
|
|
- continue;
|
|
|
if (!fcoe_ctlr_fcf_usable(fcf)) {
|
|
|
LIBFCOE_FIP_DBG(fip, "FCF for fab %16.16llx "
|
|
|
"map %x %svalid %savailable\n",
|
|
@@ -1577,6 +1568,15 @@ static struct fcoe_fcf *fcoe_ctlr_select(struct fcoe_ctlr *fip)
|
|
|
"" : "un");
|
|
|
continue;
|
|
|
}
|
|
|
+ if (fcf->fabric_name != first->fabric_name ||
|
|
|
+ fcf->vfid != first->vfid ||
|
|
|
+ fcf->fc_map != first->fc_map) {
|
|
|
+ LIBFCOE_FIP_DBG(fip, "Conflicting fabric, VFID, "
|
|
|
+ "or FC-MAP\n");
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+ if (fcf->flogi_sent)
|
|
|
+ continue;
|
|
|
if (!best || fcf->pri < best->pri || best->flogi_sent)
|
|
|
best = fcf;
|
|
|
}
|