mac80211: add debugfs file for current tx rate
authorSaravana <saravanad@posedge.com>
Thu, 29 Nov 2012 13:52:37 +0000 (19:22 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 29 Nov 2012 14:32:58 +0000 (15:32 +0100)
Add a debugfs file showing the current tx rate.
The information available in the rc_stats file
doesn't evidently provides us the current tx rate.
This patch adds the support for the same.

Signed-off-by: Saravana <saravanad@posedge.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/debugfs_sta.c

index 15669415ee98abf66c77e86d8b521c2deaf03165..b6fd9f6ed80ca5bb36034112a4987cdb02e58913 100644 (file)
@@ -322,6 +322,21 @@ static ssize_t sta_ht_capa_read(struct file *file, char __user *userbuf,
 }
 STA_OPS(ht_capa);
 
+static ssize_t sta_current_tx_rate_read(struct file *file, char __user *userbuf,
+                                       size_t count, loff_t *ppos)
+{
+       struct sta_info *sta = file->private_data;
+       struct rate_info rinfo;
+       u16 rate;
+       sta_set_rate_info_tx(sta, &sta->last_tx_rate, &rinfo);
+       rate = cfg80211_calculate_bitrate(&rinfo);
+
+       return mac80211_format_buffer(userbuf, count, ppos,
+                                     "%d.%d MBit/s\n",
+                                     rate/10, rate%10);
+}
+STA_OPS(current_tx_rate);
+
 #define DEBUGFS_ADD(name) \
        debugfs_create_file(#name, 0400, \
                sta->debugfs.dir, sta, &sta_ ##name## _ops);
@@ -371,6 +386,7 @@ void ieee80211_sta_debugfs_add(struct sta_info *sta)
        DEBUGFS_ADD(last_signal);
        DEBUGFS_ADD(ht_capa);
        DEBUGFS_ADD(last_ack_signal);
+       DEBUGFS_ADD(current_tx_rate);
 
        DEBUGFS_ADD_COUNTER(rx_packets, rx_packets);
        DEBUGFS_ADD_COUNTER(tx_packets, tx_packets);