summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/freescale/fec_main.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 791d6f519256..ab10480718a8 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -977,7 +977,6 @@ fec_enet_rx(struct net_device *ndev, int budget)
ushort pkt_len;
__u8 *data;
int pkt_received = 0;
- u16 vlan_tag;
unsigned int index = fep->rx_next;
#ifdef CONFIG_M532x
@@ -1084,9 +1083,12 @@ fec_enet_rx(struct net_device *ndev, int budget)
/* If this is a VLAN packet remove the VLAN Tag */
if (cbd_esc & BD_ENET_RX_VLAN) {
/* Push and remove the vlan tag */
- struct vlan_hdr *vlan_header =
+ struct vlan_hdr *vlan =
(struct vlan_hdr *) (data + ETH_HLEN);
- vlan_tag = ntohs(vlan_header->h_vlan_TCI);
+
+ __vlan_hwaccel_put_tag(skb,
+ htons(ETH_P_8021Q),
+ ntohs(vlan->h_vlan_TCI));
}
{
@@ -1118,12 +1120,6 @@ fec_enet_rx(struct net_device *ndev, int budget)
}
}
- /* Handle received VLAN packets */
- if (cbd_esc & BD_ENET_RX_VLAN)
- __vlan_hwaccel_put_tag(skb,
- htons(ETH_P_8021Q),
- vlan_tag);
-
napi_gro_receive(&fep->napi, skb);
}