diff options
Diffstat (limited to 'net/ethernet/eth.c')
-rw-r--r-- | net/ethernet/eth.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index dd3db88f8f0..205a1c12f3c 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c | |||
@@ -73,8 +73,8 @@ __setup("ether=", netdev_boot_setup); | |||
73 | * @len: packet length (<= skb->len) | 73 | * @len: packet length (<= skb->len) |
74 | * | 74 | * |
75 | * | 75 | * |
76 | * Set the protocol type. For a packet of type ETH_P_802_3 we put the length | 76 | * Set the protocol type. For a packet of type ETH_P_802_3/2 we put the length |
77 | * in here instead. It is up to the 802.2 layer to carry protocol information. | 77 | * in here instead. |
78 | */ | 78 | */ |
79 | int eth_header(struct sk_buff *skb, struct net_device *dev, | 79 | int eth_header(struct sk_buff *skb, struct net_device *dev, |
80 | unsigned short type, | 80 | unsigned short type, |
@@ -82,7 +82,7 @@ int eth_header(struct sk_buff *skb, struct net_device *dev, | |||
82 | { | 82 | { |
83 | struct ethhdr *eth = (struct ethhdr *)skb_push(skb, ETH_HLEN); | 83 | struct ethhdr *eth = (struct ethhdr *)skb_push(skb, ETH_HLEN); |
84 | 84 | ||
85 | if (type != ETH_P_802_3) | 85 | if (type != ETH_P_802_3 && type != ETH_P_802_2) |
86 | eth->h_proto = htons(type); | 86 | eth->h_proto = htons(type); |
87 | else | 87 | else |
88 | eth->h_proto = htons(len); | 88 | eth->h_proto = htons(len); |