aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/xmit.c
diff options
context:
space:
mode:
authorBen Greear <greearb@candelatech.com>2010-10-13 15:01:23 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-10-13 15:45:23 -0400
commitc23cc81a5e5c1d4486b662cedd0afcdf9145f154 (patch)
tree9b7a1a2b030d5298d1d4967f354bb09ec4e90232 /drivers/net/wireless/ath/ath9k/xmit.c
parente4b55957eb695b43055b6badec026628b24fe80a (diff)
ath9k: Fix potential use-after-free.
The ath_debug_stat_tx references bf->bf_mpdu, which is the skb consumed by ath_tx_complete. So, call the ath_debug_stat_tx method first. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/xmit.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/xmit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
index 9a11099dd86a..9b17108adc7c 100644
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -1924,8 +1924,8 @@ static void ath_tx_complete_buf(struct ath_softc *sc, struct ath_buf *bf,
1924 else 1924 else
1925 complete(&sc->paprd_complete); 1925 complete(&sc->paprd_complete);
1926 } else { 1926 } else {
1927 ath_tx_complete(sc, skb, bf->aphy, tx_flags);
1928 ath_debug_stat_tx(sc, txq, bf, ts); 1927 ath_debug_stat_tx(sc, txq, bf, ts);
1928 ath_tx_complete(sc, skb, bf->aphy, tx_flags);
1929 } 1929 }
1930 1930
1931 /* 1931 /*