mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 13:34:10 +08:00
6lowpan: fix process_data return values
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>
This commit is contained in:
parent
f8b361768e
commit
04dfd7386a
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user