mac80211: send statistics with delete station event
authorJohannes Berg <johannes.berg@intel.com>
Fri, 14 Nov 2014 19:32:57 +0000 (20:32 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 8 Jan 2015 14:28:03 +0000 (15:28 +0100)
Use the new cfg80211_del_sta_sinfo() function to send the
statistics about the deleted station with the delete event.
This lets userspace see how much traffic etc. the deleted
station used.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/sta_info.c

index db8b07ac6b10deab894276b1dda10930982a8462..388ff0b2ad2ba0f14f8c75f8e910c7140befe6d3 100644 (file)
@@ -874,6 +874,7 @@ static void __sta_info_destroy_part2(struct sta_info *sta)
 {
        struct ieee80211_local *local = sta->local;
        struct ieee80211_sub_if_data *sdata = sta->sdata;
+       struct station_info sinfo = {};
        int ret;
 
        /*
@@ -908,7 +909,8 @@ static void __sta_info_destroy_part2(struct sta_info *sta)
 
        sta_dbg(sdata, "Removed STA %pM\n", sta->sta.addr);
 
-       cfg80211_del_sta(sdata->dev, sta->sta.addr, GFP_KERNEL);
+       sta_set_sinfo(sta, &sinfo);
+       cfg80211_del_sta_sinfo(sdata->dev, sta->sta.addr, &sinfo, GFP_KERNEL);
 
        rate_control_remove_sta_debugfs(sta);
        ieee80211_sta_debugfs_remove(sta);