• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/net80211/

Lines Matching refs:aq

54 ieee80211_ageq_init(struct ieee80211_ageq *aq, int maxlen, const char *name)
56 memset(aq, 0, sizeof(*aq));
57 aq->aq_maxlen = maxlen;
58 IEEE80211_AGEQ_INIT(aq, name); /* OS-dependent setup */
66 ieee80211_ageq_cleanup(struct ieee80211_ageq *aq)
68 KASSERT(aq->aq_len == 0, ("%d frames on ageq", aq->aq_len));
69 IEEE80211_AGEQ_DESTROY(aq); /* OS-dependent cleanup */
108 ieee80211_ageq_append(struct ieee80211_ageq *aq, struct mbuf *m, int age)
110 IEEE80211_AGEQ_LOCK(aq);
111 if (__predict_true(aq->aq_len < aq->aq_maxlen)) {
112 if (aq->aq_tail == NULL) {
113 aq->aq_head = m;
115 aq->aq_tail->m_nextpkt = m;
116 age -= M_AGE_GET(aq->aq_head);
121 aq->aq_tail = m;
122 aq->aq_len++;
123 IEEE80211_AGEQ_UNLOCK(aq);
129 aq->aq_drops++;
130 IEEE80211_AGEQ_UNLOCK(aq);
141 ieee80211_ageq_drain(struct ieee80211_ageq *aq)
143 ieee80211_ageq_mfree(ieee80211_ageq_remove(aq, NULL));
150 ieee80211_ageq_drain_node(struct ieee80211_ageq *aq,
153 ieee80211_ageq_mfree(ieee80211_ageq_remove(aq, ni));
164 ieee80211_ageq_age(struct ieee80211_ageq *aq, int quanta)
170 if (aq->aq_len != 0) {
171 IEEE80211_AGEQ_LOCK(aq);
172 while ((m = aq->aq_head) != NULL && M_AGE_GET(m) < quanta) {
173 if ((aq->aq_head = m->m_nextpkt) == NULL)
174 aq->aq_tail = NULL;
175 KASSERT(aq->aq_len > 0, ("aq len %d", aq->aq_len));
176 aq->aq_len--;
183 IEEE80211_AGEQ_UNLOCK(aq);
195 ieee80211_ageq_remove(struct ieee80211_ageq *aq,
201 IEEE80211_AGEQ_LOCK(aq);
202 ohead = aq->aq_head;
203 prev = &aq->aq_head;
213 KASSERT(aq->aq_len > 0, ("aq len %d", aq->aq_len));
214 aq->aq_len--;
218 if (aq->aq_tail == m) {
220 if (aq->aq_head == m) { /* list empty */
221 KASSERT(aq->aq_len == 0,
222 ("not empty, len %d", aq->aq_len));
223 aq->aq_tail = NULL;
225 aq->aq_tail = (struct mbuf *)((uintptr_t)prev -
235 if (head == ohead && aq->aq_head != NULL) /* correct age */
236 M_AGE_SET(aq->aq_head, M_AGE_GET(head));
237 IEEE80211_AGEQ_UNLOCK(aq);