aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ath
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2003-10-16 16:13:11 +0000
committerSam Leffler <sam@FreeBSD.org>2003-10-16 16:13:11 +0000
commit00a12f3ae7f623e47829faf3c30645aa32e75b26 (patch)
tree8c86a36abf8813e3abbe85647605c74b33fb60e9 /sys/dev/ath
parent32f3fff9accb200ef9e46f14a7b89124d3d4b0ca (diff)
Notes
Diffstat (limited to 'sys/dev/ath')
-rw-r--r--sys/dev/ath/if_ath.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c
index ad419ea4dab12..6fc70a0aa96e4 100644
--- a/sys/dev/ath/if_ath.c
+++ b/sys/dev/ath/if_ath.c
@@ -334,8 +334,8 @@ ath_detach(struct ath_softc *sc)
ath_hal_detach(sc->sc_ah);
ieee80211_ifdetach(ifp);
- ATH_TXBUF_LOCK_DESTROY(sc);
- ATH_TXQ_LOCK_DESTROY(sc);
+ ATH_TXBUF_LOCK_DESTROY(sc);
+ ATH_TXQ_LOCK_DESTROY(sc);
return 0;
}
@@ -1765,7 +1765,10 @@ ath_tx_start(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_buf *bf
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;