diff options
author | andre <andre@FreeBSD.org> | 2013-08-25 10:57:09 +0000 |
---|---|---|
committer | andre <andre@FreeBSD.org> | 2013-08-25 10:57:09 +0000 |
commit | 6c0efad132654ea9bfc4e58975d1d58ce8d4b424 (patch) | |
tree | c06b97898de2cde2e64243afc1672aebf11ef915 /sys/dev/hatm | |
parent | 8e41c705d027e43af7d37c3bc669b20ac317fd2b (diff) | |
download | FreeBSD-src-6c0efad132654ea9bfc4e58975d1d58ce8d4b424.zip FreeBSD-src-6c0efad132654ea9bfc4e58975d1d58ce8d4b424.tar.gz |
Give (*ext_free) an int return value allowing for very sophisticated
external mbuf buffer management capabilities in the future.
For now only EXT_FREE_OK is defined with current legacy behavior.
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/dev/hatm')
-rw-r--r-- | sys/dev/hatm/if_hatm_intr.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/hatm/if_hatm_intr.c b/sys/dev/hatm/if_hatm_intr.c index d23f119..697dd2b 100644 --- a/sys/dev/hatm/if_hatm_intr.c +++ b/sys/dev/hatm/if_hatm_intr.c @@ -260,7 +260,7 @@ hatm_mbuf_page_alloc(struct hatm_softc *sc, u_int group) /* * Free an mbuf and put it onto the free list. */ -static void +static int hatm_mbuf0_free(struct mbuf *m, void *buf, void *args) { struct hatm_softc *sc = args; @@ -270,8 +270,9 @@ hatm_mbuf0_free(struct mbuf *m, void *buf, void *args) ("freeing unused mbuf %x", c->hdr.flags)); c->hdr.flags &= ~MBUF_USED; hatm_ext_free(&sc->mbuf_list[0], (struct mbufx_free *)c); + return (EXT_FREE_OK); } -static void +static int hatm_mbuf1_free(struct mbuf *m, void *buf, void *args) { struct hatm_softc *sc = args; @@ -281,6 +282,7 @@ hatm_mbuf1_free(struct mbuf *m, void *buf, void *args) ("freeing unused mbuf %x", c->hdr.flags)); c->hdr.flags &= ~MBUF_USED; hatm_ext_free(&sc->mbuf_list[1], (struct mbufx_free *)c); + return (EXT_FREE_OK); } static void @@ -461,7 +463,7 @@ hatm_rx_buffer(struct hatm_softc *sc, u_int group, u_int handle) hatm_mbuf0_free, c0, sc, M_PKTHDR, EXT_EXTREF); m->m_data += MBUF0_OFFSET; } else - hatm_mbuf0_free(NULL, c0, sc); + (void)hatm_mbuf0_free(NULL, c0, sc); } else { struct mbuf1_chunk *c1; @@ -485,7 +487,7 @@ hatm_rx_buffer(struct hatm_softc *sc, u_int group, u_int handle) hatm_mbuf1_free, c1, sc, M_PKTHDR, EXT_EXTREF); m->m_data += MBUF1_OFFSET; } else - hatm_mbuf1_free(NULL, c1, sc); + (void)hatm_mbuf1_free(NULL, c1, sc); } return (m); |