|
@@ -719,20 +719,19 @@ static int batadv_route_unicast_packet(struct sk_buff *skb,
|
|
|
|
|
|
len = skb->len;
|
|
|
res = batadv_send_skb_to_orig(skb, orig_node, recv_if);
|
|
|
- if (res == NET_XMIT_SUCCESS)
|
|
|
- ret = NET_RX_SUCCESS;
|
|
|
-
|
|
|
- /* skb was consumed */
|
|
|
- skb = NULL;
|
|
|
|
|
|
/* translate transmit result into receive result */
|
|
|
if (res == NET_XMIT_SUCCESS) {
|
|
|
+ ret = NET_RX_SUCCESS;
|
|
|
/* skb was transmitted and consumed */
|
|
|
batadv_inc_counter(bat_priv, BATADV_CNT_FORWARD);
|
|
|
batadv_add_counter(bat_priv, BATADV_CNT_FORWARD_BYTES,
|
|
|
len + ETH_HLEN);
|
|
|
}
|
|
|
|
|
|
+ /* skb was consumed */
|
|
|
+ skb = NULL;
|
|
|
+
|
|
|
put_orig_node:
|
|
|
batadv_orig_node_put(orig_node);
|
|
|
free_skb:
|