diff options
Diffstat (limited to 'drivers/scsi/fcoe/fcoe_ctlr.c')
-rw-r--r-- | drivers/scsi/fcoe/fcoe_ctlr.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/scsi/fcoe/fcoe_ctlr.c b/drivers/scsi/fcoe/fcoe_ctlr.c index aff3c44a1cdc..7aca9fd8a11c 100644 --- a/drivers/scsi/fcoe/fcoe_ctlr.c +++ b/drivers/scsi/fcoe/fcoe_ctlr.c | |||
@@ -1559,15 +1559,6 @@ static struct fcoe_fcf *fcoe_ctlr_select(struct fcoe_ctlr *fip) | |||
1559 | fcf->fabric_name, fcf->vfid, fcf->fcf_mac, | 1559 | fcf->fabric_name, fcf->vfid, fcf->fcf_mac, |
1560 | fcf->fc_map, fcoe_ctlr_mtu_valid(fcf), | 1560 | fcf->fc_map, fcoe_ctlr_mtu_valid(fcf), |
1561 | fcf->flogi_sent, fcf->pri); | 1561 | fcf->flogi_sent, fcf->pri); |
1562 | if (fcf->fabric_name != first->fabric_name || | ||
1563 | fcf->vfid != first->vfid || | ||
1564 | fcf->fc_map != first->fc_map) { | ||
1565 | LIBFCOE_FIP_DBG(fip, "Conflicting fabric, VFID, " | ||
1566 | "or FC-MAP\n"); | ||
1567 | return NULL; | ||
1568 | } | ||
1569 | if (fcf->flogi_sent) | ||
1570 | continue; | ||
1571 | if (!fcoe_ctlr_fcf_usable(fcf)) { | 1562 | if (!fcoe_ctlr_fcf_usable(fcf)) { |
1572 | LIBFCOE_FIP_DBG(fip, "FCF for fab %16.16llx " | 1563 | LIBFCOE_FIP_DBG(fip, "FCF for fab %16.16llx " |
1573 | "map %x %svalid %savailable\n", | 1564 | "map %x %svalid %savailable\n", |
@@ -1577,6 +1568,15 @@ static struct fcoe_fcf *fcoe_ctlr_select(struct fcoe_ctlr *fip) | |||
1577 | "" : "un"); | 1568 | "" : "un"); |
1578 | continue; | 1569 | continue; |
1579 | } | 1570 | } |
1571 | if (fcf->fabric_name != first->fabric_name || | ||
1572 | fcf->vfid != first->vfid || | ||
1573 | fcf->fc_map != first->fc_map) { | ||
1574 | LIBFCOE_FIP_DBG(fip, "Conflicting fabric, VFID, " | ||
1575 | "or FC-MAP\n"); | ||
1576 | return NULL; | ||
1577 | } | ||
1578 | if (fcf->flogi_sent) | ||
1579 | continue; | ||
1580 | if (!best || fcf->pri < best->pri || best->flogi_sent) | 1580 | if (!best || fcf->pri < best->pri || best->flogi_sent) |
1581 | best = fcf; | 1581 | best = fcf; |
1582 | } | 1582 | } |