diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-10-19 15:02:32 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2017-01-12 10:15:19 +0100 |
commit | 2cc6f5a715cf9f7d5ca8fd2bde62130fcfd90b94 (patch) | |
tree | 12f8d9839ad53da0a2f56dabad5b1fc1c45ac7d1 /net/mac80211 | |
parent | cef0acd4d7d4811d2d19cd0195031bf0dfe41249 (diff) | |
download | linux-2cc6f5a715cf9f7d5ca8fd2bde62130fcfd90b94.tar.bz2 |
mac80211: set wifi_acked[_valid] bits for transmitted SKBs
There may be situations in which the in-kernel originator of an
SKB cares about its wifi transmission status. To have that, set
the wifi_acked[_valid] bits before freeing/orphaning the SKB if
the destructor is set. The originator can then use it in there.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/status.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c index f7c5ae597639..d6a1bfaa7a81 100644 --- a/net/mac80211/status.c +++ b/net/mac80211/status.c @@ -541,6 +541,11 @@ static void ieee80211_report_used_skb(struct ieee80211_local *local, } else if (info->ack_frame_id) { ieee80211_report_ack_skb(local, info, acked, dropped); } + + if (!dropped && skb->destructor) { + skb->wifi_acked_valid = 1; + skb->wifi_acked = acked; + } } /* |