Merge tag 'edac_for_4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp
[linux-2.6-block.git] / net / mac80211 / status.c
index 91d7c0cd18824042044a861cfc1bcb4308c803de..aa4afbf0abaf1727b62fe1e6a9ce9605d549b856 100644 (file)
@@ -987,6 +987,25 @@ void ieee80211_tx_status_ext(struct ieee80211_hw *hw,
 }
 EXPORT_SYMBOL(ieee80211_tx_status_ext);
 
+void ieee80211_tx_rate_update(struct ieee80211_hw *hw,
+                             struct ieee80211_sta *pubsta,
+                             struct ieee80211_tx_info *info)
+{
+       struct ieee80211_local *local = hw_to_local(hw);
+       struct ieee80211_supported_band *sband = hw->wiphy->bands[info->band];
+       struct sta_info *sta = container_of(pubsta, struct sta_info, sta);
+       struct ieee80211_tx_status status = {
+               .info = info,
+               .sta = pubsta,
+       };
+
+       rate_control_tx_status(local, sband, &status);
+
+       if (ieee80211_hw_check(&local->hw, HAS_RATE_CONTROL))
+               sta->tx_stats.last_rate = info->status.rates[0];
+}
+EXPORT_SYMBOL(ieee80211_tx_rate_update);
+
 void ieee80211_report_low_ack(struct ieee80211_sta *pubsta, u32 num_packets)
 {
        struct sta_info *sta = container_of(pubsta, struct sta_info, sta);