diff options
Diffstat (limited to 'net/mac80211/debugfs_sta.c')
| -rw-r--r-- | net/mac80211/debugfs_sta.c | 33 | 
1 files changed, 33 insertions, 0 deletions
diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c index c7591f73dbc..44e201d60a1 100644 --- a/net/mac80211/debugfs_sta.c +++ b/net/mac80211/debugfs_sta.c @@ -54,6 +54,7 @@ STA_FILE(aid, sta.aid, D);  STA_FILE(dev, sdata->name, S);  STA_FILE(last_signal, last_signal, D);  STA_FILE(last_ack_signal, last_ack_signal, D); +STA_FILE(beacon_loss_count, beacon_loss_count, D);  static ssize_t sta_flags_read(struct file *file, char __user *userbuf,  			      size_t count, loff_t *ppos) @@ -325,6 +326,36 @@ static ssize_t sta_ht_capa_read(struct file *file, char __user *userbuf,  }  STA_OPS(ht_capa); +static ssize_t sta_vht_capa_read(struct file *file, char __user *userbuf, +				 size_t count, loff_t *ppos) +{ +	char buf[128], *p = buf; +	struct sta_info *sta = file->private_data; +	struct ieee80211_sta_vht_cap *vhtc = &sta->sta.vht_cap; + +	p += scnprintf(p, sizeof(buf) + buf - p, "VHT %ssupported\n", +			vhtc->vht_supported ? "" : "not "); +	if (vhtc->vht_supported) { +		p += scnprintf(p, sizeof(buf)+buf-p, "cap: %#.8x\n", vhtc->cap); + +		p += scnprintf(p, sizeof(buf)+buf-p, "RX MCS: %.4x\n", +			       le16_to_cpu(vhtc->vht_mcs.rx_mcs_map)); +		if (vhtc->vht_mcs.rx_highest) +			p += scnprintf(p, sizeof(buf)+buf-p, +				       "MCS RX highest: %d Mbps\n", +				       le16_to_cpu(vhtc->vht_mcs.rx_highest)); +		p += scnprintf(p, sizeof(buf)+buf-p, "TX MCS: %.4x\n", +			       le16_to_cpu(vhtc->vht_mcs.tx_mcs_map)); +		if (vhtc->vht_mcs.tx_highest) +			p += scnprintf(p, sizeof(buf)+buf-p, +				       "MCS TX highest: %d Mbps\n", +				       le16_to_cpu(vhtc->vht_mcs.tx_highest)); +	} + +	return simple_read_from_buffer(userbuf, count, ppos, buf, p - buf); +} +STA_OPS(vht_capa); +  static ssize_t sta_current_tx_rate_read(struct file *file, char __user *userbuf,  					size_t count, loff_t *ppos)  { @@ -404,7 +435,9 @@ void ieee80211_sta_debugfs_add(struct sta_info *sta)  	DEBUGFS_ADD(agg_status);  	DEBUGFS_ADD(dev);  	DEBUGFS_ADD(last_signal); +	DEBUGFS_ADD(beacon_loss_count);  	DEBUGFS_ADD(ht_capa); +	DEBUGFS_ADD(vht_capa);  	DEBUGFS_ADD(last_ack_signal);  	DEBUGFS_ADD(current_tx_rate);  	DEBUGFS_ADD(last_rx_rate);  |