if (VTNET_ETHER_ALIGN !=3D 0 && sc->vtnet_hdr_size % 4 = =3D=3D 0) > m_adj(m, VTNET_ETHER_ALIGN); > + > + err =3D bus_dmamap_create(sc->vtnet_rx_dmat, 0, &dmap); > + if (err) { > + printf("Failed to create dmamap, err :%d\n", > + err); > + m_freem(m); > + return (NULL); > } > + > + nsegs =3D 0; > + err =3D bus_dmamap_load_mbuf_sg(sc->vtnet_rx_dmat, dmap, = m, segs, > + &nsegs, BUS_DMA_NOWAIT); Where is the bus_dmamap_unload and bus_dmamap_destroy for the rx bufs? Ryan