diff options
Diffstat (limited to 'net/batman-adv/soft-interface.c')
| -rw-r--r-- | net/batman-adv/soft-interface.c | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c index 3e2f91ffa4e2..05dd35114a27 100644 --- a/net/batman-adv/soft-interface.c +++ b/net/batman-adv/soft-interface.c @@ -565,7 +565,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; @@ -598,15 +598,15 @@ static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)  	tt_local_add(soft_iface, ethhdr->h_source);  	orig_node = transtable_search(bat_priv, 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 */ | 
