diff options
-rw-r--r-- | drivers/scsi/fcoe/fcoe.c | 6 | ||||
-rw-r--r-- | include/linux/if_vlan.h | 9 | ||||
-rw-r--r-- | net/8021q/vlan_dev.c | 2 |
3 files changed, 7 insertions, 10 deletions
diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c index 4a8ac7d8c76b..73a8cc485f87 100644 --- a/drivers/scsi/fcoe/fcoe.c +++ b/drivers/scsi/fcoe/fcoe.c | |||
@@ -1669,10 +1669,8 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp) | |||
1669 | fcoe->realdev->features & NETIF_F_HW_VLAN_CTAG_TX) { | 1669 | fcoe->realdev->features & NETIF_F_HW_VLAN_CTAG_TX) { |
1670 | /* must set skb->dev before calling vlan_put_tag */ | 1670 | /* must set skb->dev before calling vlan_put_tag */ |
1671 | skb->dev = fcoe->realdev; | 1671 | skb->dev = fcoe->realdev; |
1672 | skb = __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), | 1672 | __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), |
1673 | vlan_dev_vlan_id(fcoe->netdev)); | 1673 | vlan_dev_vlan_id(fcoe->netdev)); |
1674 | if (!skb) | ||
1675 | return -ENOMEM; | ||
1676 | } else | 1674 | } else |
1677 | skb->dev = fcoe->netdev; | 1675 | skb->dev = fcoe->netdev; |
1678 | 1676 | ||
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h index d69f0577a319..1b5dbc2711f9 100644 --- a/include/linux/if_vlan.h +++ b/include/linux/if_vlan.h | |||
@@ -347,13 +347,11 @@ static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, | |||
347 | * | 347 | * |
348 | * Puts the VLAN TCI in @skb->vlan_tci and lets the device do the rest | 348 | * Puts the VLAN TCI in @skb->vlan_tci and lets the device do the rest |
349 | */ | 349 | */ |
350 | static inline struct sk_buff *__vlan_hwaccel_put_tag(struct sk_buff *skb, | 350 | static inline void __vlan_hwaccel_put_tag(struct sk_buff *skb, |
351 | __be16 vlan_proto, | 351 | __be16 vlan_proto, u16 vlan_tci) |
352 | u16 vlan_tci) | ||
353 | { | 352 | { |
354 | skb->vlan_proto = vlan_proto; | 353 | skb->vlan_proto = vlan_proto; |
355 | skb->vlan_tci = VLAN_TAG_PRESENT | vlan_tci; | 354 | skb->vlan_tci = VLAN_TAG_PRESENT | vlan_tci; |
356 | return skb; | ||
357 | } | 355 | } |
358 | 356 | ||
359 | /** | 357 | /** |
@@ -368,7 +366,8 @@ static inline struct sk_buff *vlan_put_tag(struct sk_buff *skb, | |||
368 | __be16 vlan_proto, u16 vlan_tci) | 366 | __be16 vlan_proto, u16 vlan_tci) |
369 | { | 367 | { |
370 | if (vlan_hw_offload_capable(skb->dev->features, vlan_proto)) { | 368 | if (vlan_hw_offload_capable(skb->dev->features, vlan_proto)) { |
371 | return __vlan_hwaccel_put_tag(skb, vlan_proto, vlan_tci); | 369 | __vlan_hwaccel_put_tag(skb, vlan_proto, vlan_tci); |
370 | return skb; | ||
372 | } else { | 371 | } else { |
373 | return __vlan_put_tag(skb, vlan_proto, vlan_tci); | 372 | return __vlan_put_tag(skb, vlan_proto, vlan_tci); |
374 | } | 373 | } |
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 0d441ec8763e..d6524b2b206a 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c | |||
@@ -150,7 +150,7 @@ static netdev_tx_t vlan_dev_hard_start_xmit(struct sk_buff *skb, | |||
150 | u16 vlan_tci; | 150 | u16 vlan_tci; |
151 | vlan_tci = vlan->vlan_id; | 151 | vlan_tci = vlan->vlan_id; |
152 | vlan_tci |= vlan_dev_get_egress_qos_mask(dev, skb->priority); | 152 | vlan_tci |= vlan_dev_get_egress_qos_mask(dev, skb->priority); |
153 | skb = __vlan_hwaccel_put_tag(skb, vlan->vlan_proto, vlan_tci); | 153 | __vlan_hwaccel_put_tag(skb, vlan->vlan_proto, vlan_tci); |
154 | } | 154 | } |
155 | 155 | ||
156 | skb->dev = vlan->real_dev; | 156 | skb->dev = vlan->real_dev; |