aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/bluetooth/6lowpan.c4
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) {