Repository : ssh://git@open-mesh.org/batman-adv
On branch : maint
commit 256776ef8562744f90ac9379364df4cf88291b49 Author: Linus Lüssing linus.luessing@c0d3.blue Date: Thu Jun 18 06:47:19 2015 +0200
batman-adv: Fix compile error on deactivated MCAST feature
Some members of "struct batadv_orig_node" are not available if compiling without the multicast optimizations feature.
Fix this by moving their initialization into the right #ifdef's.
Fixes: 7f220ed1f063 ("batman-adv: Fix potential synchronization issues in mcast tvlv handler") Signed-off-by: Linus Lüssing linus.luessing@c0d3.blue Signed-off-by: Marek Lindner mareklindner@neomailbox.ch
256776ef8562744f90ac9379364df4cf88291b49 originator.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/originator.c b/originator.c index a2ba182..a5276db 100644 --- a/originator.c +++ b/originator.c @@ -658,15 +658,11 @@ struct batadv_orig_node *batadv_orig_node_new(struct batadv_priv *bat_priv, INIT_HLIST_HEAD(&orig_node->neigh_list); INIT_LIST_HEAD(&orig_node->vlan_list); INIT_HLIST_HEAD(&orig_node->ifinfo_list); - INIT_HLIST_NODE(&orig_node->mcast_want_all_unsnoopables_node); - INIT_HLIST_NODE(&orig_node->mcast_want_all_ipv4_node); - INIT_HLIST_NODE(&orig_node->mcast_want_all_ipv6_node); spin_lock_init(&orig_node->bcast_seqno_lock); spin_lock_init(&orig_node->neigh_list_lock); spin_lock_init(&orig_node->tt_buff_lock); spin_lock_init(&orig_node->tt_lock); spin_lock_init(&orig_node->vlan_list_lock); - spin_lock_init(&orig_node->mcast_handler_lock);
batadv_nc_init_orig(orig_node);
@@ -682,8 +678,13 @@ struct batadv_orig_node *batadv_orig_node_new(struct batadv_priv *bat_priv, orig_node->last_seen = jiffies; reset_time = jiffies - 1 - msecs_to_jiffies(BATADV_RESET_PROTECTION_MS); orig_node->bcast_seqno_reset = reset_time; + #ifdef CONFIG_BATMAN_ADV_MCAST orig_node->mcast_flags = BATADV_NO_FLAGS; + INIT_HLIST_NODE(&orig_node->mcast_want_all_unsnoopables_node); + INIT_HLIST_NODE(&orig_node->mcast_want_all_ipv4_node); + INIT_HLIST_NODE(&orig_node->mcast_want_all_ipv6_node); + spin_lock_init(&orig_node->mcast_handler_lock); #endif
/* create a vlan object for the "untagged" LAN */