diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-06-12 22:47:56 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-06-13 00:16:37 +0200 |
commit | 661eb3811df568161399af0048f1ecb4ac073687 (patch) | |
tree | 36d0adfa37d54995665c621a6549b475d92b9b39 /net/mac80211 | |
parent | 940d0ac9dbe3fb9d4806e96f006286c2e476deed (diff) | |
download | linux-661eb3811df568161399af0048f1ecb4ac073687.tar.bz2 |
mac80211: fix TX aggregation TID struct leak
Ben reports that kmemleak is saying TX aggregation TID
structs are leaked. Given his workload, I suspect that
they're leaked because stations are destroyed before
their aggregation sessions get a chance to start. Fix
this by simply freeing structs that are not used yet.
Reported-by: Ben Greear <greearb@candelatech.com>
Tested-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/sta_info.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index b4297982d34a..aaf68d297221 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c @@ -149,6 +149,7 @@ static void cleanup_single_sta(struct sta_info *sta) * directly by station destruction. */ for (i = 0; i < IEEE80211_NUM_TIDS; i++) { + kfree(sta->ampdu_mlme.tid_start_tx[i]); tid_tx = rcu_dereference_raw(sta->ampdu_mlme.tid_tx[i]); if (!tid_tx) continue; |