diff options
Diffstat (limited to 'drivers/scsi/fcoe/fcoe.c')
-rw-r--r-- | drivers/scsi/fcoe/fcoe.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c index 292b24f9bf93..32ae6c67ea3a 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 | ||