diff options
author | bz <bz@FreeBSD.org> | 2009-06-30 05:21:00 +0000 |
---|---|---|
committer | bz <bz@FreeBSD.org> | 2009-06-30 05:21:00 +0000 |
commit | f236086095393d6969306feea41e45333268596b (patch) | |
tree | e384d856846345231b9fddb8f810f7f75a422016 /sys/net/netisr.c | |
parent | ccb2608d0655fc838c5dfdb0fd781cb889fe84c8 (diff) | |
download | FreeBSD-src-f236086095393d6969306feea41e45333268596b.zip FreeBSD-src-f236086095393d6969306feea41e45333268596b.tar.gz |
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)
Diffstat (limited to 'sys/net/netisr.c')
-rw-r--r-- | sys/net/netisr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/net/netisr.c b/sys/net/netisr.c index 31c5aec..b2db8c1 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); } |