Date: Wed, 15 Oct 2003 21:14:20 -0700 (PDT) From: Sam Leffler <sam@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 39767 for review Message-ID: <200310160414.h9G4EKvG045103@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=39767 Change 39767 by sam@sam_ebb on 2003/10/15 21:13:43 Check return value from bus_dmamap_load_mbuf more closely; when this is EFBIG the packet required too many segments and we need to force state to get the descriptor coalescing logic to be used. Reported on netbsd mailing list. Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#22 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#22 (text+ko) ==== @@ -1765,7 +1765,10 @@ error = bus_dmamap_load_mbuf(sc->sc_dmat, bf->bf_dmamap, m0, ath_mbuf_load_cb, bf, BUS_DMA_NOWAIT); - if (error != 0) { + if (error == EFBIG) { + /* XXX packet requires too many descriptors */ + bf->bf_nseg = ATH_TXDESC+1; + } else if (error != 0) { sc->sc_stats.ast_tx_busdma++; m_freem(m0); return error;home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310160414.h9G4EKvG045103>
