aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorKip Macy <kmacy@FreeBSD.org>2007-04-20 05:12:54 +0000
committerKip Macy <kmacy@FreeBSD.org>2007-04-20 05:12:54 +0000
commit527888d7c09a9f587153a1a2a7a75148b964950d (patch)
tree796f2837171dbb97688c8e8da20c12607d978a67 /sys/dev
parentf297a9d33624e1adf8324ec4f40225095b851b83 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/cxgb/sys/uipc_mvec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/cxgb/sys/uipc_mvec.c b/sys/dev/cxgb/sys/uipc_mvec.c
index bbe6b7638b8b..87d21ae42ca5 100644
--- a/sys/dev/cxgb/sys/uipc_mvec.c
+++ b/sys/dev/cxgb/sys/uipc_mvec.c
@@ -348,7 +348,8 @@ mb_free_vec(struct mbuf *m)
int type = mbuf_vec_get_type(mv, i);
void *cl = mv->mv_vec[i].mi_base;
- if (refcnt && *refcnt != 1 && atomic_fetchadd_int(refcnt, -1) != 1)
+ if ((type != EXT_MBUF) && *refcnt != 1 &&
+ atomic_fetchadd_int(refcnt, -1) != 1)
continue;
DPRINTF("freeing idx=%d refcnt=%p type=%d cl=%p\n", i, refcnt, type, cl);