summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-07-10 02:19:57 +0000
committersam <sam@FreeBSD.org>2009-07-10 02:19:57 +0000
commitee1bfac31aec467d00137d267df6bbe2744c596a (patch)
tree445c735aea43e55a29a343a296f1d0ddaf0eae66 /sys/net80211
parentc6b231f0caafb4f6368a1643a94528254d7b4cbb (diff)
downloadFreeBSD-src-ee1bfac31aec467d00137d267df6bbe2744c596a.zip
FreeBSD-src-ee1bfac31aec467d00137d267df6bbe2744c596a.tar.gz
correctly set the tailq ptr when removing the last item in the q
Approved by: re (kensmith)
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_ageq.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_ageq.c b/sys/net80211/ieee80211_ageq.c
index b7aad74..21745c8 100644
--- a/sys/net80211/ieee80211_ageq.c
+++ b/sys/net80211/ieee80211_ageq.c
@@ -211,7 +211,6 @@ ieee80211_ageq_remove(struct ieee80211_ageq *aq,
/*
* Remove from forward list; tail pointer is harder.
*/
- *prev = m->m_nextpkt;
if (aq->aq_tail == m) {
KASSERT(m->m_nextpkt == NULL, ("not last"));
if (aq->aq_head == m) { /* list empty */
@@ -223,6 +222,8 @@ ieee80211_ageq_remove(struct ieee80211_ageq *aq,
offsetof(struct mbuf, m_nextpkt));
}
}
+ *prev = m->m_nextpkt;
+
/* add to private list for return */
*phead = m;
phead = &m->m_nextpkt;
OpenPOWER on IntegriCloud