6lowpan: fix process_data return values
authorMartin Townsend <mtownsend1973@gmail.com>
Thu, 23 Oct 2014 14:40:54 +0000 (15:40 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 27 Oct 2014 14:51:15 +0000 (15:51 +0100)
As process_data now returns just error codes fix up the calls to this
function to only drop the skb if an error code is returned.

Signed-off-by: Martin Townsend <mtownsend1973@gmail.com>
Acked-by: Alexander Aring <alex.aring@gmail.com>
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/6lowpan.c
net/ieee802154/6lowpan_rtnl.c

index 45d9a9fef634aebfdad12d7b3779e1c02051833d..94bbb6611bc5b4095126efc30cb32ad3dc993c16 100644 (file)
@@ -347,7 +347,7 @@ static int recv_pkt(struct sk_buff *skb, struct net_device *dev,
                                goto drop;
 
                        ret = process_data(local_skb, dev, chan);
-                       if (ret != NET_RX_SUCCESS)
+                       if (ret < 0)
                                goto drop;
 
                        local_skb->protocol = htons(ETH_P_IPV6);
index 15c7717c5e069eec4537b9e5b3712a27d26addd8..21742c827475ee66c7e99af3677a07cea5d8052c 100644 (file)
@@ -542,7 +542,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev,
                switch (skb->data[0] & 0xe0) {
                case LOWPAN_DISPATCH_IPHC:      /* ipv6 datagram */
                        ret = process_data(skb, &hdr);
-                       if (ret == NET_RX_DROP)
+                       if (ret < 0)
                                goto drop;
 
                        return lowpan_give_skb_to_devices(skb, NULL);
@@ -550,7 +550,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev,
                        ret = lowpan_frag_rcv(skb, LOWPAN_DISPATCH_FRAG1);
                        if (ret == 1) {
                                ret = process_data(skb, &hdr);
-                               if (ret == NET_RX_DROP)
+                               if (ret < 0)
                                        goto drop;
 
                                return lowpan_give_skb_to_devices(skb, NULL);
@@ -563,7 +563,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev,
                        ret = lowpan_frag_rcv(skb, LOWPAN_DISPATCH_FRAGN);
                        if (ret == 1) {
                                ret = process_data(skb, &hdr);
-                               if (ret == NET_RX_DROP)
+                               if (ret < 0)
                                        goto drop;
 
                                return lowpan_give_skb_to_devices(skb, NULL);