diff options
Diffstat (limited to 'net/batman-adv/vis.c')
-rw-r--r-- | net/batman-adv/vis.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/batman-adv/vis.c b/net/batman-adv/vis.c index 94eaeb521c17..4983340f1943 100644 --- a/net/batman-adv/vis.c +++ b/net/batman-adv/vis.c | |||
@@ -697,7 +697,7 @@ static void batadv_broadcast_vis_packet(struct batadv_priv *bat_priv, | |||
697 | struct batadv_orig_node *orig_node; | 697 | struct batadv_orig_node *orig_node; |
698 | struct batadv_vis_packet *packet; | 698 | struct batadv_vis_packet *packet; |
699 | struct sk_buff *skb; | 699 | struct sk_buff *skb; |
700 | uint32_t i; | 700 | uint32_t i, res; |
701 | 701 | ||
702 | 702 | ||
703 | packet = (struct batadv_vis_packet *)info->skb_packet->data; | 703 | packet = (struct batadv_vis_packet *)info->skb_packet->data; |
@@ -724,7 +724,8 @@ static void batadv_broadcast_vis_packet(struct batadv_priv *bat_priv, | |||
724 | if (!skb) | 724 | if (!skb) |
725 | continue; | 725 | continue; |
726 | 726 | ||
727 | if (!batadv_send_skb_to_orig(skb, orig_node, NULL)) | 727 | res = batadv_send_skb_to_orig(skb, orig_node, NULL); |
728 | if (res == NET_XMIT_DROP) | ||
728 | kfree_skb(skb); | 729 | kfree_skb(skb); |
729 | } | 730 | } |
730 | rcu_read_unlock(); | 731 | rcu_read_unlock(); |
@@ -748,7 +749,7 @@ static void batadv_unicast_vis_packet(struct batadv_priv *bat_priv, | |||
748 | if (!skb) | 749 | if (!skb) |
749 | goto out; | 750 | goto out; |
750 | 751 | ||
751 | if (!batadv_send_skb_to_orig(skb, orig_node, NULL)) | 752 | if (batadv_send_skb_to_orig(skb, orig_node, NULL) == NET_XMIT_DROP) |
752 | kfree_skb(skb); | 753 | kfree_skb(skb); |
753 | 754 | ||
754 | out: | 755 | out: |