diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index 21c211e9fd5ac87e11910a959cae6ec59fd98c4b..314e4c5a5a5e0982e29b81c91394477bc58fd582 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c @@ -156,8 +156,9 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev) skb->dev = dev; skb_reset_mac_header(skb); + + eth = (struct ethhdr *)skb->data; skb_pull_inline(skb, ETH_HLEN); - eth = eth_hdr(skb); if (unlikely(is_multicast_ether_addr_64bits(eth->h_dest))) { if (ether_addr_equal_64bits(eth->h_dest, dev->broadcast))