Merge tag 'critical_fix_for_3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rwlove/fcoe
Pull FCoE fix from Robert W Love: "This patch fixes a critical bug that was introduced in 3.9 related to VLAN tagging FCoE frames" * tag 'critical_fix_for_3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rwlove/fcoe: fcoe: Use correct API to set vlan tag for FCoE Ethertype skbs
This commit is contained in:
@@ -1656,9 +1656,12 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp)
|
||||
|
||||
if (fcoe->netdev->priv_flags & IFF_802_1Q_VLAN &&
|
||||
fcoe->realdev->features & NETIF_F_HW_VLAN_CTAG_TX) {
|
||||
skb->vlan_tci = VLAN_TAG_PRESENT |
|
||||
vlan_dev_vlan_id(fcoe->netdev);
|
||||
/* must set skb->dev before calling vlan_put_tag */
|
||||
skb->dev = fcoe->realdev;
|
||||
skb = __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
|
||||
vlan_dev_vlan_id(fcoe->netdev));
|
||||
if (!skb)
|
||||
return -ENOMEM;
|
||||
} else
|
||||
skb->dev = fcoe->netdev;
|
||||
|
||||
|
Reference in New Issue
Block a user