Lines Matching refs:tracker
38 void qdf_tracker_init(struct qdf_tracker *tracker) in qdf_tracker_init() argument
40 qdf_spinlock_create(&tracker->lock); in qdf_tracker_init()
41 qdf_ptr_hash_init(tracker->ht); in qdf_tracker_init()
45 void qdf_tracker_deinit(struct qdf_tracker *tracker) in qdf_tracker_deinit() argument
47 qdf_tracker_check_for_leaks(tracker); in qdf_tracker_deinit()
49 qdf_spin_lock_bh(&tracker->lock); in qdf_tracker_deinit()
50 QDF_BUG(qdf_ptr_hash_empty(tracker->ht)); in qdf_tracker_deinit()
51 qdf_spin_unlock_bh(&tracker->lock); in qdf_tracker_deinit()
53 qdf_ptr_hash_deinit(tracker->ht); in qdf_tracker_deinit()
54 qdf_spinlock_destroy(&tracker->lock); in qdf_tracker_deinit()
63 static uint32_t qdf_tracker_leaks_print(struct qdf_tracker *tracker, in qdf_tracker_leaks_print() argument
71 qdf_ptr_hash_for_each(tracker->ht, bucket, node, entry) { in qdf_tracker_leaks_print()
78 tracker->leak_title, in qdf_tracker_leaks_print()
94 void qdf_tracker_check_for_leaks(struct qdf_tracker *tracker) in qdf_tracker_check_for_leaks() argument
99 qdf_spin_lock_bh(&tracker->lock); in qdf_tracker_check_for_leaks()
100 leaks = qdf_tracker_leaks_print(tracker, domain); in qdf_tracker_check_for_leaks()
103 leaks, tracker->leak_title, in qdf_tracker_check_for_leaks()
105 qdf_spin_unlock_bh(&tracker->lock); in qdf_tracker_check_for_leaks()
109 QDF_STATUS qdf_tracker_track(struct qdf_tracker *tracker, void *ptr, in qdf_tracker_track() argument
118 qdf_spin_lock_bh(&tracker->lock); in qdf_tracker_track()
119 node = qdf_ptr_hash_get(tracker->ht, ptr, node, entry); in qdf_tracker_track()
122 tracker->track_title, func, line, in qdf_tracker_track()
123 tracker->track_title, node->func, node->line); in qdf_tracker_track()
124 qdf_spin_unlock_bh(&tracker->lock); in qdf_tracker_track()
137 qdf_spin_lock_bh(&tracker->lock); in qdf_tracker_track()
138 qdf_ptr_hash_add(tracker->ht, ptr, node, entry); in qdf_tracker_track()
139 qdf_spin_unlock_bh(&tracker->lock); in qdf_tracker_track()
145 void qdf_tracker_untrack(struct qdf_tracker *tracker, void *ptr, in qdf_tracker_untrack() argument
155 qdf_spin_lock_bh(&tracker->lock); in qdf_tracker_untrack()
156 node = qdf_ptr_hash_remove(tracker->ht, ptr, node, entry); in qdf_tracker_untrack()
159 tracker->untrack_title, func, line); in qdf_tracker_untrack()
162 tracker->untrack_title, in qdf_tracker_untrack()
167 qdf_spin_unlock_bh(&tracker->lock); in qdf_tracker_untrack()
174 bool qdf_tracker_lookup(struct qdf_tracker *tracker, void *ptr, in qdf_tracker_lookup() argument
180 qdf_spin_lock_bh(&tracker->lock); in qdf_tracker_lookup()
181 node = qdf_ptr_hash_get(tracker->ht, ptr, node, entry); in qdf_tracker_lookup()
187 qdf_spin_unlock_bh(&tracker->lock); in qdf_tracker_lookup()