diff options
author | Robert Watson <rwatson@FreeBSD.org> | 2015-01-06 12:59:37 +0000 |
---|---|---|
committer | Robert Watson <rwatson@FreeBSD.org> | 2015-01-06 12:59:37 +0000 |
commit | 2a8c860fe3f3bcfc6ba9206f34d067d998d89c7e (patch) | |
tree | 8da641e0473d723ab1cc2e5a5772cb1eed6e4d6f /sys/dev/snc/dp83932.c | |
parent | fe657d68f54b7ef837aa6373bb9644911a074c8d (diff) | |
download | src-2a8c860fe3f3bcfc6ba9206f34d067d998d89c7e.tar.gz src-2a8c860fe3f3bcfc6ba9206f34d067d998d89c7e.zip |
In order to reduce use of M_EXT outside of the mbuf allocator and
socket-buffer implementations, introduce a return value for MCLGET()
(and m_cljget() that underlies it) to allow the caller to avoid testing
M_EXT itself. Update all callers to use the return value.
With this change, very few network device drivers remain aware of
M_EXT; the primary exceptions lie in mbuf-chain pretty printers for
debugging, and in a few cases, custom mbuf and cluster allocation
implementations.
NB: This is a difficult-to-test change as it touches many drivers for
which I don't have physical devices. Instead we've gone for intensive
review, but further post-commit review would definitely be appreciated
to spot errors where changes could not easily be made mechanically,
but were largely mechanical in nature.
Differential Revision: https://reviews.freebsd.org/D1440
Reviewed by: adrian, bz, gnn
Sponsored by: EMC / Isilon Storage Division
Notes
Notes:
svn path=/head/; revision=276750
Diffstat (limited to 'sys/dev/snc/dp83932.c')
-rw-r--r-- | sys/dev/snc/dp83932.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/dev/snc/dp83932.c b/sys/dev/snc/dp83932.c index d4e062ac1f2f..a496b672dc09 100644 --- a/sys/dev/snc/dp83932.c +++ b/sys/dev/snc/dp83932.c @@ -1129,8 +1129,7 @@ sonic_get(struct snc_softc *sc, u_int32_t pkt, int datalen) len = MLEN; } if (datalen >= MINCLSIZE) { - MCLGET(m, M_NOWAIT); - if ((m->m_flags & M_EXT) == 0) { + if (!(MCLGET(m, M_NOWAIT))) { if (top) m_freem(top); return (0); } |