We should change the skb->dev pointer earlier to the lowpan interface. Sometimes we call iphc_decompress which also use some netdev printout functionality. This patch will change that the correct interface will be displayed in this case, which should be the lowpan interface. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> --- net/ieee802154/6lowpan/rx.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/net/ieee802154/6lowpan/rx.c b/net/ieee802154/6lowpan/rx.c index 11a5629..3871804a 100644 --- a/net/ieee802154/6lowpan/rx.c +++ b/net/ieee802154/6lowpan/rx.c @@ -15,10 +15,8 @@ #include "6lowpan_i.h" -static int lowpan_give_skb_to_device(struct sk_buff *skb, - struct net_device *wdev) +static int lowpan_give_skb_to_device(struct sk_buff *skb) { - skb->dev = wdev->ieee802154_ptr->lowpan_dev; skb->protocol = htons(ETH_P_IPV6); skb->pkt_type = PACKET_HOST; @@ -73,11 +71,13 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *wdev, if (ieee802154_hdr_peek_addrs(skb, &hdr) < 0) goto drop_skb; + skb->dev = wdev->ieee802154_ptr->lowpan_dev; + /* check that it's our buffer */ if (skb->data[0] == LOWPAN_DISPATCH_IPV6) { /* Pull off the 1-byte of 6lowpan header. */ skb_pull(skb, 1); - return lowpan_give_skb_to_device(skb, wdev); + return lowpan_give_skb_to_device(skb); } else { switch (skb->data[0] & 0xe0) { case LOWPAN_DISPATCH_IPHC: /* ipv6 datagram */ @@ -85,7 +85,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *wdev, if (ret < 0) goto drop_skb; - return lowpan_give_skb_to_device(skb, wdev); + return lowpan_give_skb_to_device(skb); case LOWPAN_DISPATCH_FRAG1: /* first fragment header */ ret = lowpan_frag_rcv(skb, LOWPAN_DISPATCH_FRAG1); if (ret == 1) { @@ -93,7 +93,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *wdev, if (ret < 0) goto drop_skb; - return lowpan_give_skb_to_device(skb, wdev); + return lowpan_give_skb_to_device(skb); } else if (ret == -1) { return NET_RX_DROP; } else { @@ -106,7 +106,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *wdev, if (ret < 0) goto drop_skb; - return lowpan_give_skb_to_device(skb, wdev); + return lowpan_give_skb_to_device(skb); } else if (ret == -1) { return NET_RX_DROP; } else { -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wpan" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html