Lines Matching refs:entry
47 struct ieee80211_mesh_fast_tx *entry = ptr; in __mesh_fast_tx_entry_free() local
49 kfree_rcu(entry, fast_tx.rcu_head); in __mesh_fast_tx_entry_free()
421 struct ieee80211_mesh_fast_tx *entry) in mesh_fast_tx_entry_free() argument
423 hlist_del_rcu(&entry->walk_list); in mesh_fast_tx_entry_free()
424 rhashtable_remove_fast(&cache->rht, &entry->rhash, fast_tx_rht_params); in mesh_fast_tx_entry_free()
425 kfree_rcu(entry, fast_tx.rcu_head); in mesh_fast_tx_entry_free()
432 struct ieee80211_mesh_fast_tx *entry; in mesh_fast_tx_get() local
436 entry = rhashtable_lookup(&cache->rht, key, fast_tx_rht_params); in mesh_fast_tx_get()
437 if (!entry) in mesh_fast_tx_get()
440 if (!(entry->mpath->flags & MESH_PATH_ACTIVE) || in mesh_fast_tx_get()
441 mpath_expired(entry->mpath)) { in mesh_fast_tx_get()
443 entry = rhashtable_lookup(&cache->rht, key, fast_tx_rht_params); in mesh_fast_tx_get()
444 if (entry) in mesh_fast_tx_get()
445 mesh_fast_tx_entry_free(cache, entry); in mesh_fast_tx_get()
450 mesh_path_refresh(sdata, entry->mpath, NULL); in mesh_fast_tx_get()
451 if (entry->mppath) in mesh_fast_tx_get()
452 entry->mppath->exp_time = jiffies; in mesh_fast_tx_get()
453 entry->timestamp = jiffies; in mesh_fast_tx_get()
455 return entry; in mesh_fast_tx_get()
463 struct ieee80211_mesh_fast_tx *entry, *prev; in mesh_fast_tx_cache() local
570 entry = kmemdup(&build, sizeof(build), GFP_ATOMIC); in mesh_fast_tx_cache()
571 if (!entry) in mesh_fast_tx_cache()
576 &entry->rhash, in mesh_fast_tx_cache()
579 kfree(entry); in mesh_fast_tx_cache()
589 &entry->rhash, fast_tx_rht_params); in mesh_fast_tx_cache()
594 hlist_add_head(&entry->walk_list, &cache->walk_head); in mesh_fast_tx_cache()
606 struct ieee80211_mesh_fast_tx *entry; in mesh_fast_tx_gc() local
613 hlist_for_each_entry_safe(entry, n, &cache->walk_head, walk_list) in mesh_fast_tx_gc()
614 if (!time_is_after_jiffies(entry->timestamp + timeout)) in mesh_fast_tx_gc()
615 mesh_fast_tx_entry_free(cache, entry); in mesh_fast_tx_gc()
623 struct ieee80211_mesh_fast_tx *entry; in mesh_fast_tx_flush_mpath() local
627 hlist_for_each_entry_safe(entry, n, &cache->walk_head, walk_list) in mesh_fast_tx_flush_mpath()
628 if (entry->mpath == mpath) in mesh_fast_tx_flush_mpath()
629 mesh_fast_tx_entry_free(cache, entry); in mesh_fast_tx_flush_mpath()
637 struct ieee80211_mesh_fast_tx *entry; in mesh_fast_tx_flush_sta() local
641 hlist_for_each_entry_safe(entry, n, &cache->walk_head, walk_list) in mesh_fast_tx_flush_sta()
642 if (rcu_access_pointer(entry->mpath->next_hop) == sta) in mesh_fast_tx_flush_sta()
643 mesh_fast_tx_entry_free(cache, entry); in mesh_fast_tx_flush_sta()
652 struct ieee80211_mesh_fast_tx *entry; in mesh_fast_tx_flush_addr() local
659 entry = rhashtable_lookup_fast(&cache->rht, &key, fast_tx_rht_params); in mesh_fast_tx_flush_addr()
660 if (entry) in mesh_fast_tx_flush_addr()
661 mesh_fast_tx_entry_free(cache, entry); in mesh_fast_tx_flush_addr()