diff options
author | sam <sam@FreeBSD.org> | 2009-07-10 02:19:57 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-07-10 02:19:57 +0000 |
commit | ee1bfac31aec467d00137d267df6bbe2744c596a (patch) | |
tree | 445c735aea43e55a29a343a296f1d0ddaf0eae66 /sys/net80211/ieee80211_ageq.c | |
parent | c6b231f0caafb4f6368a1643a94528254d7b4cbb (diff) | |
download | FreeBSD-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/ieee80211_ageq.c')
-rw-r--r-- | sys/net80211/ieee80211_ageq.c | 3 |
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; |