diff options
author | David S. Miller <davem@davemloft.net> | 2013-07-03 17:50:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-07-03 17:55:13 -0400 |
commit | 0c1072ae0242fbdffd9a0bba36e7a7033d287f9c (patch) | |
tree | e0f4dbdbf5078d4a707911177e7bdc17a70bdce5 /drivers/scsi/fcoe | |
parent | c50cd357887acf9fd7af3a5d492911bd825555a2 (diff) | |
parent | 8bb495e3f02401ee6f76d1b1d77f3ac9f079e376 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/renesas/sh_eth.c
net/ipv4/gre.c
The GRE conflict is between a bug fix (kfree_skb --> kfree_skb_list)
and the splitting of the gre.c code into seperate files.
The FEC conflict was two sets of changes adding ethtool support code
in an "!CONFIG_M5272" CPP protected block.
Finally the sh_eth.c conflict was between one commit add bits set
in the .eesr_err_check mask whilst another commit removed the
.tx_error_check member and assignments.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/scsi/fcoe')
-rw-r--r-- | drivers/scsi/fcoe/fcoe.c | 7 | ||||
-rw-r--r-- | drivers/scsi/fcoe/fcoe_ctlr.c | 15 |
2 files changed, 10 insertions, 12 deletions
diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c index ee721b6cbcdf..4a05d0427a9c 100644 --- a/drivers/scsi/fcoe/fcoe.c +++ b/drivers/scsi/fcoe/fcoe.c | |||
@@ -1656,9 +1656,12 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp) | |||
1656 | 1656 | ||
1657 | if (fcoe->netdev->priv_flags & IFF_802_1Q_VLAN && | 1657 | if (fcoe->netdev->priv_flags & IFF_802_1Q_VLAN && |
1658 | fcoe->realdev->features & NETIF_F_HW_VLAN_CTAG_TX) { | 1658 | fcoe->realdev->features & NETIF_F_HW_VLAN_CTAG_TX) { |
1659 | skb->vlan_tci = VLAN_TAG_PRESENT | | 1659 | /* must set skb->dev before calling vlan_put_tag */ |
1660 | vlan_dev_vlan_id(fcoe->netdev); | ||
1661 | skb->dev = fcoe->realdev; | 1660 | skb->dev = fcoe->realdev; |
1661 | skb = __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), | ||
1662 | vlan_dev_vlan_id(fcoe->netdev)); | ||
1663 | if (!skb) | ||
1664 | return -ENOMEM; | ||
1662 | } else | 1665 | } else |
1663 | skb->dev = fcoe->netdev; | 1666 | skb->dev = fcoe->netdev; |
1664 | 1667 | ||
diff --git a/drivers/scsi/fcoe/fcoe_ctlr.c b/drivers/scsi/fcoe/fcoe_ctlr.c index cd743c545ce9..795843dde8ec 100644 --- a/drivers/scsi/fcoe/fcoe_ctlr.c +++ b/drivers/scsi/fcoe/fcoe_ctlr.c | |||
@@ -1548,9 +1548,6 @@ static struct fcoe_fcf *fcoe_ctlr_select(struct fcoe_ctlr *fip) | |||
1548 | { | 1548 | { |
1549 | struct fcoe_fcf *fcf; | 1549 | struct fcoe_fcf *fcf; |
1550 | struct fcoe_fcf *best = fip->sel_fcf; | 1550 | struct fcoe_fcf *best = fip->sel_fcf; |
1551 | struct fcoe_fcf *first; | ||
1552 | |||
1553 | first = list_first_entry(&fip->fcfs, struct fcoe_fcf, list); | ||
1554 | 1551 | ||
1555 | list_for_each_entry(fcf, &fip->fcfs, list) { | 1552 | list_for_each_entry(fcf, &fip->fcfs, list) { |
1556 | LIBFCOE_FIP_DBG(fip, "consider FCF fab %16.16llx " | 1553 | LIBFCOE_FIP_DBG(fip, "consider FCF fab %16.16llx " |
@@ -1568,17 +1565,15 @@ static struct fcoe_fcf *fcoe_ctlr_select(struct fcoe_ctlr *fip) | |||
1568 | "" : "un"); | 1565 | "" : "un"); |
1569 | continue; | 1566 | continue; |
1570 | } | 1567 | } |
1571 | if (fcf->fabric_name != first->fabric_name || | 1568 | if (!best || fcf->pri < best->pri || best->flogi_sent) |
1572 | fcf->vfid != first->vfid || | 1569 | best = fcf; |
1573 | fcf->fc_map != first->fc_map) { | 1570 | if (fcf->fabric_name != best->fabric_name || |
1571 | fcf->vfid != best->vfid || | ||
1572 | fcf->fc_map != best->fc_map) { | ||
1574 | LIBFCOE_FIP_DBG(fip, "Conflicting fabric, VFID, " | 1573 | LIBFCOE_FIP_DBG(fip, "Conflicting fabric, VFID, " |
1575 | "or FC-MAP\n"); | 1574 | "or FC-MAP\n"); |
1576 | return NULL; | 1575 | return NULL; |
1577 | } | 1576 | } |
1578 | if (fcf->flogi_sent) | ||
1579 | continue; | ||
1580 | if (!best || fcf->pri < best->pri || best->flogi_sent) | ||
1581 | best = fcf; | ||
1582 | } | 1577 | } |
1583 | fip->sel_fcf = best; | 1578 | fip->sel_fcf = best; |
1584 | if (best) { | 1579 | if (best) { |