Hi,
On Sat, Aug 08, 2015 at 05:39:07PM +0200, Christian Schulte wrote:
> While at it. I cannot test this as I do not have corresponding hardware.
>
> Index: sys/dev/ic/ti.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/ic/ti.c,v
> retrieving revision 1.12
> diff -u -r1.12 ti.c
> --- sys/dev/ic/ti.c 22 Dec 2014 02:28:51 -0000 1.12
> +++ sys/dev/ic/ti.c 8 Aug 2015 15:36:21 -0000
[...]
> @@ -655,6 +655,7 @@
>
> if (bus_dmamap_load_mbuf(sc->sc_dmatag, dmamap, m_new,
> BUS_DMA_NOWAIT)) {
> + m_freem(m_new);
> m_freem(m);
> return (ENOBUFS);
> }
>
There is no need to keep m_freem(m): m is NULL in this if() branch (if
condition outside the diff context). There is also a second faulty
m_freem(m) in this file.
Freeing m_new is need as it was just allocated with pool_get(9) (via
MCLGETI or MGETHDR). m_freem() will return it with pool_put(9).
I also keep to comments spelling correction.
Comments or post-lock OK ?
--
Sebastien Marie
Index: dev/ic/ti.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/ti.c,v
retrieving revision 1.15
diff -u -p -r1.15 ti.c
--- dev/ic/ti.c 24 Jun 2015 09:40:54 -0000 1.15
+++ dev/ic/ti.c 9 Aug 2015 07:44:19 -0000
@@ -560,7 +560,7 @@ ti_handle_events(struct ti_softc *sc)
}
/*
- * Intialize a standard receive ring descriptor.
+ * Initialize a standard receive ring descriptor.
*/
int
ti_newbuf_std(struct ti_softc *sc, int i, struct mbuf *m,
@@ -620,7 +620,7 @@ ti_newbuf_std(struct ti_softc *sc, int i
}
/*
- * Intialize a mini receive ring descriptor. This only applies to
+ * Initialize a mini receive ring descriptor. This only applies to
* the Tigon 2.
*/
int
@@ -654,7 +654,7 @@ ti_newbuf_mini(struct ti_softc *sc, int
if (bus_dmamap_load_mbuf(sc->sc_dmatag, dmamap, m_new,
BUS_DMA_NOWAIT)) {
- m_freem(m);
+ m_freem(m_new);
return (ENOBUFS);
}
} else {
@@ -712,7 +712,7 @@ ti_newbuf_jumbo(struct ti_softc *sc, int
if (bus_dmamap_load_mbuf(sc->sc_dmatag, dmamap, m_new,
BUS_DMA_NOWAIT)) {
- m_freem(m);
+ m_freem(m_new);
return (ENOBUFS);
}
} else {