diff options
author | Ying Xue <ying.xue@windriver.com> | 2013-10-18 07:23:19 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-10-18 19:20:43 +0200 |
commit | 679815834857d5305dae108a03addccf16d86868 (patch) | |
tree | 70da3017c0cb87ac18b0a9e01e54e147aaaff6b3 /net/tipc/eth_media.c | |
parent | tipc: avoid unnecessary lookup for tipc bearer instance (diff) | |
download | linux-679815834857d5305dae108a03addccf16d86868.tar.xz linux-679815834857d5305dae108a03addccf16d86868.zip |
tipc: correct return value of recv_msg routine
Currently, rcv_msg() always returns zero on a packet delivery upcall
from net_device.
To make its behavior more compliant with the way this API should be
used, we change this to let it return NET_RX_SUCCESS (which is zero
anyway) when it is able to handle the packet, and NET_RX_DROP otherwise.
The latter does not imply any functional change, it only enables the
driver to keep more accurate statistics about the fate of delivered
packets.
Signed-off-by: Ying Xue <ying.xue@windriver.com>
Reviewed-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/eth_media.c')
-rw-r--r-- | net/tipc/eth_media.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/tipc/eth_media.c b/net/tipc/eth_media.c index c36c938306a1..f80d59f5a161 100644 --- a/net/tipc/eth_media.c +++ b/net/tipc/eth_media.c @@ -132,18 +132,18 @@ static int recv_msg(struct sk_buff *buf, struct net_device *dev, if (!net_eq(dev_net(dev), &init_net)) { kfree_skb(buf); - return 0; + return NET_RX_DROP; } if (likely(eb_ptr->bearer)) { if (likely(buf->pkt_type <= PACKET_BROADCAST)) { buf->next = NULL; tipc_recv_msg(buf, eb_ptr->bearer); - return 0; + return NET_RX_SUCCESS; } } kfree_skb(buf); - return 0; + return NET_RX_DROP; } /** |