diff options
author | Saravana <saravanad@posedge.com> | 2012-11-29 14:24:19 (GMT) |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-11-29 14:33:06 (GMT) |
commit | 1f2e651c9aa4be5ace193b6a8f48e4b068a60207 (patch) | |
tree | f6e354bf381244ffbaa3a20e570851dd43585f1d /net/mac80211 | |
parent | 003e676af5044c2168dafbb49c7b8d61dd68cc60 (diff) | |
download | linux-1f2e651c9aa4be5ace193b6a8f48e4b068a60207.tar.xz |
mac80211: add debugfs file for last rx rate
Add a debugfs file showing the rate at which
the last packet is received.
Signed-off-by: Saravana <saravanad@posedge.com>
[fix whitespace]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/debugfs_sta.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c index b6fd9f6..49a1c70 100644 --- a/net/mac80211/debugfs_sta.c +++ b/net/mac80211/debugfs_sta.c @@ -337,6 +337,23 @@ static ssize_t sta_current_tx_rate_read(struct file *file, char __user *userbuf, } STA_OPS(current_tx_rate); +static ssize_t sta_last_rx_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_rx(sta, &rinfo); + + rate = cfg80211_calculate_bitrate(&rinfo); + + return mac80211_format_buffer(userbuf, count, ppos, + "%d.%d MBit/s\n", + rate/10, rate%10); +} +STA_OPS(last_rx_rate); + #define DEBUGFS_ADD(name) \ debugfs_create_file(#name, 0400, \ sta->debugfs.dir, sta, &sta_ ##name## _ops); @@ -387,6 +404,7 @@ void ieee80211_sta_debugfs_add(struct sta_info *sta) DEBUGFS_ADD(ht_capa); DEBUGFS_ADD(last_ack_signal); DEBUGFS_ADD(current_tx_rate); + DEBUGFS_ADD(last_rx_rate); DEBUGFS_ADD_COUNTER(rx_packets, rx_packets); DEBUGFS_ADD_COUNTER(tx_packets, tx_packets); |