diff options
-rw-r--r-- | net/bluetooth/6lowpan.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c index d040365ba98e..58e1b3c97ed7 100644 --- a/net/bluetooth/6lowpan.c +++ b/net/bluetooth/6lowpan.c | |||
@@ -317,6 +317,7 @@ static int recv_pkt(struct sk_buff *skb, struct net_device *dev, | |||
317 | 317 | ||
318 | local_skb->protocol = htons(ETH_P_IPV6); | 318 | local_skb->protocol = htons(ETH_P_IPV6); |
319 | local_skb->pkt_type = PACKET_HOST; | 319 | local_skb->pkt_type = PACKET_HOST; |
320 | local_skb->dev = dev; | ||
320 | 321 | ||
321 | skb_set_transport_header(local_skb, sizeof(struct ipv6hdr)); | 322 | skb_set_transport_header(local_skb, sizeof(struct ipv6hdr)); |
322 | 323 | ||
@@ -335,6 +336,8 @@ static int recv_pkt(struct sk_buff *skb, struct net_device *dev, | |||
335 | if (!local_skb) | 336 | if (!local_skb) |
336 | goto drop; | 337 | goto drop; |
337 | 338 | ||
339 | local_skb->dev = dev; | ||
340 | |||
338 | ret = iphc_decompress(local_skb, dev, chan); | 341 | ret = iphc_decompress(local_skb, dev, chan); |
339 | if (ret < 0) { | 342 | if (ret < 0) { |
340 | kfree_skb(local_skb); | 343 | kfree_skb(local_skb); |
@@ -343,7 +346,6 @@ static int recv_pkt(struct sk_buff *skb, struct net_device *dev, | |||
343 | 346 | ||
344 | local_skb->protocol = htons(ETH_P_IPV6); | 347 | local_skb->protocol = htons(ETH_P_IPV6); |
345 | local_skb->pkt_type = PACKET_HOST; | 348 | local_skb->pkt_type = PACKET_HOST; |
346 | local_skb->dev = dev; | ||
347 | 349 | ||
348 | if (give_skb_to_upper(local_skb, dev) | 350 | if (give_skb_to_upper(local_skb, dev) |
349 | != NET_RX_SUCCESS) { | 351 | != NET_RX_SUCCESS) { |