Lines Matching refs:tt_req_node
2571 struct batadv_tt_req_node *tt_req_node;
2573 tt_req_node = container_of(ref, struct batadv_tt_req_node, refcount);
2575 kmem_cache_free(batadv_tt_req_cache, tt_req_node);
2579 * batadv_tt_req_node_put() - decrement the tt_req_node refcounter and
2581 * @tt_req_node: tt_req_node to be free'd
2583 static void batadv_tt_req_node_put(struct batadv_tt_req_node *tt_req_node)
2585 if (!tt_req_node)
2588 kref_put(&tt_req_node->refcount, batadv_tt_req_node_release);
2644 * batadv_tt_req_node_new() - search and possibly create a tt_req_node object
2648 * Return: the pointer to the new tt_req_node struct if no request
2655 struct batadv_tt_req_node *tt_req_node_tmp, *tt_req_node = NULL;
2665 tt_req_node = kmem_cache_alloc(batadv_tt_req_cache, GFP_ATOMIC);
2666 if (!tt_req_node)
2669 kref_init(&tt_req_node->refcount);
2670 ether_addr_copy(tt_req_node->addr, orig_node->orig);
2671 tt_req_node->issued_at = jiffies;
2673 kref_get(&tt_req_node->refcount);
2674 hlist_add_head(&tt_req_node->list, &bat_priv->tt.req_list);
2677 return tt_req_node;
2918 struct batadv_tt_req_node *tt_req_node = NULL;
2931 tt_req_node = batadv_tt_req_node_new(bat_priv, dst_orig_node);
2932 if (!tt_req_node)
2971 if (ret && tt_req_node) {
2973 if (!hlist_unhashed(&tt_req_node->list)) {
2974 hlist_del_init(&tt_req_node->list);
2975 batadv_tt_req_node_put(tt_req_node);
2980 batadv_tt_req_node_put(tt_req_node);
3405 /* Delete the tt_req_node from pending tt_requests list */