diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-10-10 22:40:23 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-10-15 20:45:50 +0200 |
commit | d4fa14cd62bd078c8e3ef39283b9f237e5b2ff0f (patch) | |
tree | 420a4835d573d45f98ce488dadd899f58599b2e9 /net/mac80211/util.c | |
parent | brcmfmac: fix end of loop check (signedness bug) (diff) | |
download | linux-d4fa14cd62bd078c8e3ef39283b9f237e5b2ff0f.tar.xz linux-d4fa14cd62bd078c8e3ef39283b9f237e5b2ff0f.zip |
mac80211: use ieee80211_free_txskb in a few more places
Free tx status skbs when draining power save buffers, pending frames, or
when tearing down a vif.
Fixes remaining conditions that can lead to hostapd/wpa_supplicant hangs when
running out of socket write memory.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@vger.kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 22ca35054dd0..94e586873979 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -406,7 +406,7 @@ void ieee80211_add_pending_skb(struct ieee80211_local *local, int queue = info->hw_queue; if (WARN_ON(!info->control.vif)) { - kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); return; } @@ -431,7 +431,7 @@ void ieee80211_add_pending_skbs_fn(struct ieee80211_local *local, struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); if (WARN_ON(!info->control.vif)) { - kfree_skb(skb); + ieee80211_free_txskb(&local->hw, skb); continue; } |