aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2010-01-16 19:47:56 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-01-19 16:25:16 -0500
commit697e6a0fb0c8783695d4b4a5d7131476b296d623 (patch)
treefb64bc9a92a200405736683843a58209230b4056 /net
parentedc6ccb7b992bd9ea5db4555c8f0bf74c656f964 (diff)
mac80211: clear TX control on filtered frames
When an skb survived a round-trip through the driver and needs to be re-used, its control information is definitely not valid any more, the driver will have overwritten it. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/status.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c
index 0ebcdda24200..9e171b178276 100644
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
@@ -69,6 +69,14 @@ static void ieee80211_handle_filtered_frame(struct ieee80211_local *local,
69 */ 69 */
70 goto drop; 70 goto drop;
71 71
72 /*
73 * This skb 'survived' a round-trip through the driver, and
74 * hopefully the driver didn't mangle it too badly. However,
75 * we can definitely not rely on the the control information
76 * being correct. Clear it so we don't get junk there.
77 */
78 memset(&info->control, 0, sizeof(info->control));
79
72 sta->tx_filtered_count++; 80 sta->tx_filtered_count++;
73 81
74 /* 82 /*