mac80211: propagate struct ieee80211_tx_status into ieee80211_tx_monitor()
authorJohn Crispin <john@phrozen.org>
Sun, 14 Jul 2019 15:44:15 +0000 (17:44 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 26 Jul 2019 11:41:45 +0000 (13:41 +0200)
This will allow use to report HE rates on the radiotap interface.

Signed-off-by: John Crispin <john@phrozen.org>
Link: https://lore.kernel.org/r/20190714154419.11854-3-john@phrozen.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ieee80211_i.h
net/mac80211/status.c
net/mac80211/tx.c

index c67da3575e741d84ee849bdffe3cc011fe636245..4c80c0ed67a77e72043ee6686763e8864ebc2f86 100644 (file)
@@ -1768,7 +1768,8 @@ ieee80211_build_data_template(struct ieee80211_sub_if_data *sdata,
                              struct sk_buff *skb, u32 info_flags);
 void ieee80211_tx_monitor(struct ieee80211_local *local, struct sk_buff *skb,
                          struct ieee80211_supported_band *sband,
-                         int retry_count, int shift, bool send_to_cooked);
+                         int retry_count, int shift, bool send_to_cooked,
+                         struct ieee80211_tx_status *status);
 
 void ieee80211_check_fast_xmit(struct sta_info *sta);
 void ieee80211_check_fast_xmit_all(struct ieee80211_local *local);
index a88e3bf17e9de2eeb63c3cb422ce74432e407e5a..adf6269fa3637255662182e11cd395dfdacd8988 100644 (file)
@@ -645,7 +645,8 @@ static int ieee80211_tx_get_rates(struct ieee80211_hw *hw,
 
 void ieee80211_tx_monitor(struct ieee80211_local *local, struct sk_buff *skb,
                          struct ieee80211_supported_band *sband,
-                         int retry_count, int shift, bool send_to_cooked)
+                         int retry_count, int shift, bool send_to_cooked,
+                         struct ieee80211_tx_status *status)
 {
        struct sk_buff *skb2;
        struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
@@ -901,7 +902,8 @@ static void __ieee80211_tx_status(struct ieee80211_hw *hw,
        }
 
        /* send to monitor interfaces */
-       ieee80211_tx_monitor(local, skb, sband, retry_count, shift, send_to_cooked);
+       ieee80211_tx_monitor(local, skb, sband, retry_count, shift,
+                            send_to_cooked, status);
 }
 
 void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
index fb8870d9eba3b125c823e664d5f75fd15f48021f..235c6377a2034227b98f6cf05d7da70591d87f4b 100644 (file)
@@ -4649,7 +4649,8 @@ struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw,
        if (!sband)
                return bcn;
 
-       ieee80211_tx_monitor(hw_to_local(hw), copy, sband, 1, shift, false);
+       ieee80211_tx_monitor(hw_to_local(hw), copy, sband, 1, shift, false,
+                            NULL);
 
        return bcn;
 }