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 if (!(fq->flags & INET_FRAG_COMPLETE)) { in inet_frags_free_cb()
137 fq->flags |= INET_FRAG_COMPLETE; in inet_frags_free_cb()
139 } else if (fq->flags & INET_FRAG_HASH_DEAD) { in inet_frags_free_cb()
142 spin_unlock_bh(&fq->lock); in inet_frags_free_cb()
144 if (refcount_sub_and_test(count, &fq->refcnt)) in inet_frags_free_cb()
145 inet_frag_destroy(fq); in inet_frags_free_cb()
225 void inet_frag_kill(struct inet_frag_queue *fq) in inet_frag_kill() argument
227 if (del_timer(&fq->timer)) in inet_frag_kill()
228 refcount_dec(&fq->refcnt); in inet_frag_kill()
230 if (!(fq->flags & INET_FRAG_COMPLETE)) { in inet_frag_kill()
231 struct fqdir *fqdir = fq->fqdir; in inet_frag_kill()
233 fq->flags |= INET_FRAG_COMPLETE; in inet_frag_kill()
241 rhashtable_remove_fast(&fqdir->rhashtable, &fq->node, in inet_frag_kill()
243 refcount_dec(&fq->refcnt); in inet_frag_kill()
245 fq->flags |= INET_FRAG_HASH_DEAD; in inet_frag_kill()
357 struct inet_frag_queue *fq = NULL, *prev; in inet_frag_find() local
366 fq = inet_frag_create(fqdir, key, &prev); in inet_frag_find()
368 fq = prev; in inet_frag_find()
369 if (!refcount_inc_not_zero(&fq->refcnt)) in inet_frag_find()
370 fq = NULL; in inet_frag_find()
373 return fq; in inet_frag_find()