From c23a9d98bf52a0535cc5d4e15ef2e4f6fba13a9e Mon Sep 17 00:00:00 2001 From: Adrian Chadd Date: Tue, 2 Apr 2013 06:25:10 +0000 Subject: [PATCH] Mark a couple of places where I think the dmamap isn't being unmapped before the TX path is being aborted. Right now it's in the TDMA code and I can live with that; but it really should get fixed. I'll do a more thorough audit of this code soon. --- sys/dev/ath/if_ath_tx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/ath/if_ath_tx.c b/sys/dev/ath/if_ath_tx.c index 4d781efe62d..265e5ffda7d 100644 --- a/sys/dev/ath/if_ath_tx.c +++ b/sys/dev/ath/if_ath_tx.c @@ -1615,6 +1615,7 @@ ath_tx_normal_setup(struct ath_softc *sc, struct ieee80211_node *ni, if_printf(ifp, "bogus frame type 0x%x (%s)\n", wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK, __func__); /* XXX statistic */ + /* XXX free tx dmamap */ ath_freetx(m0); return EIO; } @@ -1670,6 +1671,7 @@ ath_tx_normal_setup(struct ath_softc *sc, struct ieee80211_node *ni, DPRINTF(sc, ATH_DEBUG_TDMA, "%s: discard frame, ACK required w/ TDMA\n", __func__); sc->sc_stats.ast_tdma_ack++; + /* XXX free tx dmamap */ ath_freetx(m0); return EIO; }