summaryrefslogtreecommitdiffstats
path: root/sys/netipx/spx_usrreq.c
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2006-03-26 02:33:44 +0000
committerrwatson <rwatson@FreeBSD.org>2006-03-26 02:33:44 +0000
commit58605b1e6456321f0f80dd2921b2a3763b04ff5d (patch)
tree31f61582378a78e07ed6dc1fbfa320852a6a8670 /sys/netipx/spx_usrreq.c
parent72eb76f920e2b08777ad8d633ba6bab24a57b045 (diff)
downloadFreeBSD-src-58605b1e6456321f0f80dd2921b2a3763b04ff5d.zip
FreeBSD-src-58605b1e6456321f0f80dd2921b2a3763b04ff5d.tar.gz
Restore original formulation of SPX segment queue draining during SPX
PCB detach. MFC after: 1 month
Diffstat (limited to 'sys/netipx/spx_usrreq.c')
-rw-r--r--sys/netipx/spx_usrreq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netipx/spx_usrreq.c b/sys/netipx/spx_usrreq.c
index 8054c27..dad3cd9 100644
--- a/sys/netipx/spx_usrreq.c
+++ b/sys/netipx/spx_usrreq.c
@@ -1427,7 +1427,9 @@ spx_pcbdetach(struct ipxpcb *ipxp)
cb = ipxtospxpcb(ipxp);
KASSERT(cb != NULL, ("spx_pcbdetach: cb == NULL"));
- for (s = cb->s_q.si_next; s != NULL; s = cb->s_q.si_next) {
+ s = cb->s_q.si_next;
+ while (s != &(cb->s_q)) {
+ s = s->si_next;
remque(s);
m = dtom(s);
m_freem(m);
OpenPOWER on IntegriCloud