Skip site navigation (1)Skip section navigation (2)
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>