summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorSaravana <saravanad@posedge.com>2012-11-29 14:52:37 +0100
committerJohannes Berg <johannes.berg@intel.com>2012-11-29 15:32:58 +0100
commit91b8c050b2a2ed3a1277de53d90e1899f28225e8 (patch)
tree0d885c00dcc73204bf84b0707e561684803c96cf /net
parentmac80211: add debugfs file for last ack signal (diff)
downloadlinux-91b8c050b2a2ed3a1277de53d90e1899f28225e8.tar.xz
linux-91b8c050b2a2ed3a1277de53d90e1899f28225e8.zip
mac80211: add debugfs file for current tx rate
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>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/debugfs_sta.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c
index 15669415ee98..b6fd9f6ed80c 100644
--- a/net/mac80211/debugfs_sta.c
+++ b/net/mac80211/debugfs_sta.c
@@ -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);