Lines Matching refs:orig_ifinfo

295 	struct batadv_orig_ifinfo *orig_ifinfo;  in batadv_orig_router_get()  local
299 hlist_for_each_entry_rcu(orig_ifinfo, &orig_node->ifinfo_list, list) { in batadv_orig_router_get()
300 if (orig_ifinfo->if_outgoing != if_outgoing) in batadv_orig_router_get()
303 router = rcu_dereference(orig_ifinfo->router); in batadv_orig_router_get()
327 struct batadv_orig_ifinfo *tmp, *orig_ifinfo = NULL; in batadv_orig_ifinfo_get() local
338 orig_ifinfo = tmp; in batadv_orig_ifinfo_get()
343 return orig_ifinfo; in batadv_orig_ifinfo_get()
361 struct batadv_orig_ifinfo *orig_ifinfo; in batadv_orig_ifinfo_new() local
366 orig_ifinfo = batadv_orig_ifinfo_get(orig_node, if_outgoing); in batadv_orig_ifinfo_new()
367 if (orig_ifinfo) in batadv_orig_ifinfo_new()
370 orig_ifinfo = kzalloc(sizeof(*orig_ifinfo), GFP_ATOMIC); in batadv_orig_ifinfo_new()
371 if (!orig_ifinfo) in batadv_orig_ifinfo_new()
379 orig_ifinfo->batman_seqno_reset = reset_time; in batadv_orig_ifinfo_new()
380 orig_ifinfo->if_outgoing = if_outgoing; in batadv_orig_ifinfo_new()
381 INIT_HLIST_NODE(&orig_ifinfo->list); in batadv_orig_ifinfo_new()
382 kref_init(&orig_ifinfo->refcount); in batadv_orig_ifinfo_new()
384 kref_get(&orig_ifinfo->refcount); in batadv_orig_ifinfo_new()
385 hlist_add_head_rcu(&orig_ifinfo->list, in batadv_orig_ifinfo_new()
389 return orig_ifinfo; in batadv_orig_ifinfo_new()
774 struct batadv_orig_ifinfo *orig_ifinfo; in batadv_orig_ifinfo_release() local
777 orig_ifinfo = container_of(ref, struct batadv_orig_ifinfo, refcount); in batadv_orig_ifinfo_release()
779 if (orig_ifinfo->if_outgoing != BATADV_IF_DEFAULT) in batadv_orig_ifinfo_release()
780 batadv_hardif_put(orig_ifinfo->if_outgoing); in batadv_orig_ifinfo_release()
783 router = rcu_dereference_protected(orig_ifinfo->router, true); in batadv_orig_ifinfo_release()
786 kfree_rcu(orig_ifinfo, rcu); in batadv_orig_ifinfo_release()
817 struct batadv_orig_ifinfo *orig_ifinfo; in batadv_orig_node_release() local
832 hlist_for_each_entry_safe(orig_ifinfo, node_tmp, in batadv_orig_node_release()
834 hlist_del_rcu(&orig_ifinfo->list); in batadv_orig_node_release()
835 batadv_orig_ifinfo_put(orig_ifinfo); in batadv_orig_node_release()
1025 struct batadv_orig_ifinfo *orig_ifinfo; in batadv_purge_orig_ifinfo() local
1033 hlist_for_each_entry_safe(orig_ifinfo, node_tmp, in batadv_purge_orig_ifinfo()
1035 if_outgoing = orig_ifinfo->if_outgoing; in batadv_purge_orig_ifinfo()
1053 hlist_del_rcu(&orig_ifinfo->list); in batadv_purge_orig_ifinfo()
1054 batadv_orig_ifinfo_put(orig_ifinfo); in batadv_purge_orig_ifinfo()
1055 if (orig_node->last_bonding_candidate == orig_ifinfo) { in batadv_purge_orig_ifinfo()
1057 batadv_orig_ifinfo_put(orig_ifinfo); in batadv_purge_orig_ifinfo()