From: Johannes Berg Date: Tue, 24 Nov 2015 14:41:50 +0000 (+0100) Subject: mac80211: properly free TX skbs when monitor TX fails X-Git-Tag: v4.5-rc1~128^2~189^2~15 X-Git-Url: http://git.cascardo.info/?a=commitdiff_plain;h=63b4d8b3736b83126ea531c536eff9f76e4cd739;p=cascardo%2Flinux.git 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 --- 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;