Index: dev/fxp/if_fxp.c =================================================================== RCS file: /home/ncvs/src/sys/dev/fxp/if_fxp.c,v retrieving revision 1.147 diff -u -r1.147 if_fxp.c --- dev/fxp/if_fxp.c 19 Feb 2003 05:47:05 -0000 1.147 +++ dev/fxp/if_fxp.c 21 Feb 2003 17:47:44 -0000 @@ -1876,7 +1876,7 @@ m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); if (m == NULL) { /* try to recycle the old mbuf instead */ if (oldm == NULL) - return 1; + return ENOBUFS; m = oldm; m->m_data = m->m_ext.ext_buf; } Index: pci/if_dc.c =================================================================== RCS file: /home/ncvs/src/sys/pci/if_dc.c,v retrieving revision 1.94 diff -u -r1.94 if_dc.c --- pci/if_dc.c 19 Feb 2003 05:47:40 -0000 1.94 +++ pci/if_dc.c 21 Feb 2003 18:12:30 -0000 @@ -2444,7 +2444,7 @@ m_new->m_data = m_new->m_ext.ext_buf; } - m_adj(m_new, sizeof(u_int64_t)); + m_adj(m_new, ETHER_ALIGN); /* * If this is a PNIC chip, zero the buffer. This is part Index: pci/if_rl.c =================================================================== RCS file: /home/ncvs/src/sys/pci/if_rl.c,v retrieving revision 1.87 diff -u -r1.87 if_rl.c --- pci/if_rl.c 19 Feb 2003 05:47:41 -0000 1.87 +++ pci/if_rl.c 21 Feb 2003 17:31:22 -0000 @@ -1502,12 +1502,12 @@ MGETHDR(m_new, M_DONTWAIT, MT_DATA); if (m_new == NULL) - return(1); + return(ENOBUFS); if (m_head->m_pkthdr.len > MHLEN) { MCLGET(m_new, M_DONTWAIT); if (!(m_new->m_flags & M_EXT)) { m_freem(m_new); - return(1); + return(ENOBUFS); } } m_copydata(m_head, 0, m_head->m_pkthdr.len, mtod(m_new, caddr_t)); Index: pci/if_xl.c =================================================================== RCS file: /home/ncvs/src/sys/pci/if_xl.c,v retrieving revision 1.129 diff -u -r1.129 if_xl.c --- pci/if_xl.c 19 Feb 2003 18:33:29 -0000 1.129 +++ pci/if_xl.c 21 Feb 2003 17:28:28 -0000 @@ -2154,11 +2154,15 @@ break; sc->xl_cdata.xl_tx_head = cur_tx->xl_next; - bus_dmamap_sync(sc->xl_mtag, cur_tx->xl_map, - BUS_DMASYNC_POSTWRITE); - bus_dmamap_unload(sc->xl_mtag, cur_tx->xl_map); - m_freem(cur_tx->xl_mbuf); - cur_tx->xl_mbuf = NULL; + + if (cur_tx->xl_mbuf != NULL) { + bus_dmamap_sync(sc->xl_mtag, cur_tx->xl_map, + BUS_DMASYNC_POSTWRITE); + bus_dmamap_unload(sc->xl_mtag, cur_tx->xl_map); + m_freem(cur_tx->xl_mbuf); + cur_tx->xl_mbuf = NULL; + } + ifp->if_opackets++; cur_tx->xl_next = sc->xl_cdata.xl_tx_free; @@ -2447,7 +2451,7 @@ if (m_new == NULL) { m_freem(m_head); printf("xl%d: no memory for tx list\n", sc->xl_unit); - return(1); + return(ENOBUFS); } if (m_head->m_pkthdr.len > MHLEN) { MCLGET(m_new, M_DONTWAIT); @@ -2456,7 +2460,7 @@ m_freem(m_head); printf("xl%d: no memory for tx list\n", sc->xl_unit); - return(1); + return(ENOBUFS); } } m_copydata(m_head, 0, m_head->m_pkthdr.len,