> Modified files: > > Index: src/sys/dev/pci/if_mcx.c > diff -u src/sys/dev/pci/if_mcx.c:1.5 src/sys/dev/pci/if_mcx.c:1.6 > --- src/sys/dev/pci/if_mcx.c:1.5 Thu Oct 17 15:57:56 2019 > +++ src/sys/dev/pci/if_mcx.c Mon Nov 18 04:40:05 2019 > @@ -1,4 +1,4 @@ > -/* $NetBSD: if_mcx.c,v 1.5 2019/10/17 15:57:56 msaitoh Exp $ */ > +/* $NetBSD: if_mcx.c,v 1.6 2019/11/18 04:40:05 nonaka Exp $ */ > /* $OpenBSD: if_mcx.c,v 1.33 2019/09/12 04:23:59 jmatthew Exp $ */ > > /* > @@ -6347,7 +6347,7 @@ mcx_load_mbuf(struct mcx_softc *sc, stru > break; > > case EFBIG: > - if (m_defrag(m, M_DONTWAIT) == 0 && > + if (m_defrag(m, M_DONTWAIT) != NULL && > bus_dmamap_load_mbuf(sc->sc_dmat, ms->ms_map, m, > BUS_DMA_STREAMING | BUS_DMA_NOWAIT) == 0) > break; >
Is this one of those "m_defrag misbehaves because it will not turn it into a chain of 1 packet, but 2"? (I think this will not work)