Lines Matching refs:orig_entry
412 * batadv_tt_orig_list_entry_free_rcu() - free the orig_entry
413 * @rcu: rcu pointer of the orig_entry
417 struct batadv_tt_orig_list_entry *orig_entry;
419 orig_entry = container_of(rcu, struct batadv_tt_orig_list_entry, rcu);
421 kmem_cache_free(batadv_tt_orig_cache, orig_entry);
431 struct batadv_tt_orig_list_entry *orig_entry;
433 orig_entry = container_of(ref, struct batadv_tt_orig_list_entry,
436 batadv_orig_node_put(orig_entry->orig_node);
437 call_rcu(&orig_entry->rcu, batadv_tt_orig_list_entry_free_rcu);
443 * @orig_entry: tt orig entry to be free'd
446 batadv_tt_orig_list_entry_put(struct batadv_tt_orig_list_entry *orig_entry)
448 if (!orig_entry)
451 kref_put(&orig_entry->refcount, batadv_tt_orig_list_entry_release);
647 struct batadv_tt_orig_list_entry *orig_entry;
769 hlist_for_each_entry_rcu(orig_entry, head, list) {
772 orig_entry->orig_node);
1530 struct batadv_tt_orig_list_entry *tmp_orig_entry, *orig_entry = NULL;
1541 orig_entry = tmp_orig_entry;
1546 return orig_entry;
1566 struct batadv_tt_orig_list_entry *orig_entry;
1569 orig_entry = batadv_tt_global_orig_entry_find(entry, orig_node);
1570 if (orig_entry) {
1574 *flags = orig_entry->flags;
1576 batadv_tt_orig_list_entry_put(orig_entry);
1592 struct batadv_tt_orig_list_entry *orig_entry;
1598 hlist_for_each_entry_rcu(orig_entry, head, list)
1599 flags |= orig_entry->flags;
1618 struct batadv_tt_orig_list_entry *orig_entry;
1622 orig_entry = batadv_tt_global_orig_entry_find(tt_global, orig_node);
1623 if (orig_entry) {
1627 orig_entry->ttvn = ttvn;
1628 orig_entry->flags = flags;
1632 orig_entry = kmem_cache_zalloc(batadv_tt_orig_cache, GFP_ATOMIC);
1633 if (!orig_entry)
1636 INIT_HLIST_NODE(&orig_entry->list);
1639 orig_entry->orig_node = orig_node;
1640 orig_entry->ttvn = ttvn;
1641 orig_entry->flags = flags;
1642 kref_init(&orig_entry->refcount);
1644 kref_get(&orig_entry->refcount);
1645 hlist_add_head_rcu(&orig_entry->list,
1652 if (orig_entry)
1653 batadv_tt_orig_list_entry_put(orig_entry);
1752 * originator list and add the new one orig_entry
1796 /* add the new orig_entry (if needed) or update it */
1848 struct batadv_tt_orig_list_entry *orig_entry, *best_entry = NULL;
1851 hlist_for_each_entry_rcu(orig_entry, head, list) {
1852 router = batadv_orig_router_get(orig_entry->orig_node,
1868 best_entry = orig_entry;
1893 struct batadv_tt_orig_list_entry *orig_entry, *best_entry;
1933 hlist_for_each_entry_rcu(orig_entry, head, list) {
1934 if (best_entry == orig_entry)
1937 vlan = batadv_orig_node_vlan_get(orig_entry->orig_node,
1943 orig_entry->orig_node->orig);
1947 last_ttvn = atomic_read(&orig_entry->orig_node->last_ttvn);
1952 orig_entry->ttvn, orig_entry->orig_node->orig,
2090 struct batadv_tt_orig_list_entry *orig_entry, *best_entry;
2100 hlist_for_each_entry_rcu(orig_entry, head, list) {
2104 best = (orig_entry == best_entry);
2107 orig_entry, best)) {
2225 * _batadv_tt_global_del_orig_entry() - remove and free an orig_entry
2226 * @tt_global_entry: the global entry to remove the orig_entry from
2227 * @orig_entry: the orig entry to remove and free
2229 * Remove an orig_entry from its list in the given tt_global_entry and
2230 * free this orig_entry afterwards.
2232 * Caller must hold tt_global_entry->list_lock and ensure orig_entry->list is
2237 struct batadv_tt_orig_list_entry *orig_entry)
2241 batadv_tt_global_size_dec(orig_entry->orig_node,
2244 /* requires holding tt_global_entry->list_lock and orig_entry->list
2247 hlist_del_rcu(&orig_entry->list);
2248 batadv_tt_orig_list_entry_put(orig_entry);
2257 struct batadv_tt_orig_list_entry *orig_entry;
2261 hlist_for_each_entry_safe(orig_entry, safe, head, list)
2262 _batadv_tt_global_del_orig_entry(tt_global_entry, orig_entry);
2273 * Remove the given orig_node and its according orig_entry from the given
2284 struct batadv_tt_orig_list_entry *orig_entry;
2289 hlist_for_each_entry_safe(orig_entry, safe, head, list) {
2290 if (orig_entry->orig_node == orig_node) {
2298 orig_entry);
2316 struct batadv_tt_orig_list_entry *orig_entry;
2324 hlist_for_each_entry_rcu(orig_entry, head, list) {
2325 if (orig_entry->orig_node != orig_node) {