aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-11-24 15:41:50 +0100
committerJohannes Berg <johannes.berg@intel.com>2015-12-04 14:43:32 +0100
commit63b4d8b3736b83126ea531c536eff9f76e4cd739 (patch)
treee963cba0e5621207d144178822f42b77d5e1f08d
parentmac80211: properly free skb when r-o-c for TX fails (diff)
downloadlinux-dev-63b4d8b3736b83126ea531c536eff9f76e4cd739.tar.xz
linux-dev-63b4d8b3736b83126ea531c536eff9f76e4cd739.zip
mac80211: properly free TX skbs when monitor TX fails
We need to free all skbs here, not just the one we peeked from the list. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/tx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index bdc224d5053a..3311ce0f3d6c 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1431,7 +1431,7 @@ static bool __ieee80211_tx(struct ieee80211_local *local,
info->hw_queue =
vif->hw_queue[skb_get_queue_mapping(skb)];
} else if (ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) {
- dev_kfree_skb(skb);
+ ieee80211_purge_tx_queue(&local->hw, skbs);
return true;
} else
vif = NULL;