diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2010-01-16 19:47:56 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-01-19 16:25:16 -0500 |
commit | 697e6a0fb0c8783695d4b4a5d7131476b296d623 (patch) | |
tree | fb64bc9a92a200405736683843a58209230b4056 /net | |
parent | edc6ccb7b992bd9ea5db4555c8f0bf74c656f964 (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.c | 8 |
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 | /* |