aboutsummaryrefslogtreecommitdiff
path: root/sys/net/netisr.c
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2009-06-30 05:21:00 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2009-06-30 05:21:00 +0000
commitba3b25b35a88b014f8cce9bde26f12355cd45961 (patch)
treee384d856846345231b9fddb8f810f7f75a422016 /sys/net/netisr.c
parent5ed6940d13fdda59c5475c0d43a51235aa6e2a64 (diff)
downloadsrc-ba3b25b35a88b014f8cce9bde26f12355cd45961.tar.gz
src-ba3b25b35a88b014f8cce9bde26f12355cd45961.zip
In case we cannot queue a packet reaching the queue limit, retain the
semantics netisr_queue() always had and free the mbuf along with returning the error. Reviewed by: rwatson Approved by: re (kensmith)
Notes
Notes: svn path=/head/; revision=195182
Diffstat (limited to 'sys/net/netisr.c')
-rw-r--r--sys/net/netisr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/net/netisr.c b/sys/net/netisr.c
index 31c5aec0db35..b2db8c153aec 100644
--- a/sys/net/netisr.c
+++ b/sys/net/netisr.c
@@ -803,6 +803,7 @@ netisr_queue_workstream(struct netisr_workstream *nwsp, u_int proto,
npwp->nw_queued++;
return (0);
} else {
+ m_freem(m);
npwp->nw_qdrops++;
return (ENOBUFS);
}