]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blobdiff - net/batman-adv/soft-interface.c
Merge branch 'master' of github.com:davem330/net
[mirror_ubuntu-eoan-kernel.git] / net / batman-adv / soft-interface.c
index aceeabc2ca86dde0b197b217ebae4c6162f49b3d..f9cc957289894ea8471f23ae06eb70d4ec6f52d9 100644 (file)
@@ -566,7 +566,7 @@ static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
        struct orig_node *orig_node = NULL;
        int data_len = skb->len, ret;
        short vid = -1;
-       bool do_bcast = false;
+       bool do_bcast;
 
        if (atomic_read(&bat_priv->mesh_state) != MESH_ACTIVE)
                goto dropped;
@@ -600,15 +600,15 @@ static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 
        orig_node = transtable_search(bat_priv, ethhdr->h_source,
                                      ethhdr->h_dest);
-       if (is_multicast_ether_addr(ethhdr->h_dest) ||
-                               (orig_node && orig_node->gw_flags)) {
+       do_bcast = is_multicast_ether_addr(ethhdr->h_dest);
+       if (do_bcast || (orig_node && orig_node->gw_flags)) {
                ret = gw_is_target(bat_priv, skb, orig_node);
 
                if (ret < 0)
                        goto dropped;
 
-               if (ret == 0)
-                       do_bcast = true;
+               if (ret)
+                       do_bcast = false;
        }
 
        /* ethernet packet should be broadcasted */