Lines Matching refs:fq
130 struct inet_frag_queue *fq = ptr; in inet_frags_free_cb() local
133 count = del_timer_sync(&fq->timer) ? 1 : 0; in inet_frags_free_cb()
135 spin_lock_bh(&fq->lock); in inet_frags_free_cb()
136 fq->flags |= INET_FRAG_DROP; in inet_frags_free_cb()
137 if (!(fq->flags & INET_FRAG_COMPLETE)) { in inet_frags_free_cb()
138 fq->flags |= INET_FRAG_COMPLETE; in inet_frags_free_cb()
140 } else if (fq->flags & INET_FRAG_HASH_DEAD) { in inet_frags_free_cb()
143 spin_unlock_bh(&fq->lock); in inet_frags_free_cb()
145 if (refcount_sub_and_test(count, &fq->refcnt)) in inet_frags_free_cb()
146 inet_frag_destroy(fq); in inet_frags_free_cb()
226 void inet_frag_kill(struct inet_frag_queue *fq) in inet_frag_kill() argument
228 if (del_timer(&fq->timer)) in inet_frag_kill()
229 refcount_dec(&fq->refcnt); in inet_frag_kill()
231 if (!(fq->flags & INET_FRAG_COMPLETE)) { in inet_frag_kill()
232 struct fqdir *fqdir = fq->fqdir; in inet_frag_kill()
234 fq->flags |= INET_FRAG_COMPLETE; in inet_frag_kill()
242 rhashtable_remove_fast(&fqdir->rhashtable, &fq->node, in inet_frag_kill()
244 refcount_dec(&fq->refcnt); in inet_frag_kill()
246 fq->flags |= INET_FRAG_HASH_DEAD; in inet_frag_kill()
363 struct inet_frag_queue *fq = NULL, *prev; in inet_frag_find() local
372 fq = inet_frag_create(fqdir, key, &prev); in inet_frag_find()
374 fq = prev; in inet_frag_find()
375 if (!refcount_inc_not_zero(&fq->refcnt)) in inet_frag_find()
376 fq = NULL; in inet_frag_find()
379 return fq; in inet_frag_find()