summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_tx.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_tx.c b/drivers/net/wireless/wl12xx/wl1271_tx.c
index 5712489f5ddb..66b48b70444e 100644
--- a/drivers/net/wireless/wl12xx/wl1271_tx.c
+++ b/drivers/net/wireless/wl12xx/wl1271_tx.c
@@ -426,8 +426,10 @@ void wl1271_tx_flush(struct wl1271 *wl)
wl1271_debug(DEBUG_TX, "flushing skb 0x%p", skb);
- if (!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS))
- continue;
+ if (!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS)) {
+ kfree_skb(skb);
+ continue;
+ }
ieee80211_tx_status(wl->hw, skb);
}
@@ -437,8 +439,10 @@ void wl1271_tx_flush(struct wl1271 *wl)
skb = wl->tx_frames[i];
info = IEEE80211_SKB_CB(skb);
- if (!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS))
+ if (!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS)) {
+ kfree_skb(skb);
continue;
+ }
ieee80211_tx_status(wl->hw, skb);
wl->tx_frames[i] = NULL;