diff options
Diffstat (limited to 'net/mac80211/debugfs_netdev.c')
-rw-r--r-- | net/mac80211/debugfs_netdev.c | 41 |
1 files changed, 29 insertions, 12 deletions
diff --git a/net/mac80211/debugfs_netdev.c b/net/mac80211/debugfs_netdev.c index 1021e87c051f..37ea30e0754c 100644 --- a/net/mac80211/debugfs_netdev.c +++ b/net/mac80211/debugfs_netdev.c | |||
@@ -114,14 +114,6 @@ static ssize_t ieee80211_if_fmt_##name( \ | |||
114 | return scnprintf(buf, buflen, "%pM\n", sdata->field); \ | 114 | return scnprintf(buf, buflen, "%pM\n", sdata->field); \ |
115 | } | 115 | } |
116 | 116 | ||
117 | #define IEEE80211_IF_FMT_DEC_DIV_16(name, field) \ | ||
118 | static ssize_t ieee80211_if_fmt_##name( \ | ||
119 | const struct ieee80211_sub_if_data *sdata, \ | ||
120 | char *buf, int buflen) \ | ||
121 | { \ | ||
122 | return scnprintf(buf, buflen, "%d\n", sdata->field / 16); \ | ||
123 | } | ||
124 | |||
125 | #define IEEE80211_IF_FMT_JIFFIES_TO_MS(name, field) \ | 117 | #define IEEE80211_IF_FMT_JIFFIES_TO_MS(name, field) \ |
126 | static ssize_t ieee80211_if_fmt_##name( \ | 118 | static ssize_t ieee80211_if_fmt_##name( \ |
127 | const struct ieee80211_sub_if_data *sdata, \ | 119 | const struct ieee80211_sub_if_data *sdata, \ |
@@ -247,8 +239,6 @@ IEEE80211_IF_FILE_R(hw_queues); | |||
247 | /* STA attributes */ | 239 | /* STA attributes */ |
248 | IEEE80211_IF_FILE(bssid, u.mgd.bssid, MAC); | 240 | IEEE80211_IF_FILE(bssid, u.mgd.bssid, MAC); |
249 | IEEE80211_IF_FILE(aid, u.mgd.aid, DEC); | 241 | IEEE80211_IF_FILE(aid, u.mgd.aid, DEC); |
250 | IEEE80211_IF_FILE(last_beacon, u.mgd.last_beacon_signal, DEC); | ||
251 | IEEE80211_IF_FILE(ave_beacon, u.mgd.ave_beacon_signal, DEC_DIV_16); | ||
252 | IEEE80211_IF_FILE(beacon_timeout, u.mgd.beacon_timeout, JIFFIES_TO_MS); | 242 | IEEE80211_IF_FILE(beacon_timeout, u.mgd.beacon_timeout, JIFFIES_TO_MS); |
253 | 243 | ||
254 | static int ieee80211_set_smps(struct ieee80211_sub_if_data *sdata, | 244 | static int ieee80211_set_smps(struct ieee80211_sub_if_data *sdata, |
@@ -455,6 +445,34 @@ static ssize_t ieee80211_if_parse_uapsd_max_sp_len( | |||
455 | } | 445 | } |
456 | IEEE80211_IF_FILE_RW(uapsd_max_sp_len); | 446 | IEEE80211_IF_FILE_RW(uapsd_max_sp_len); |
457 | 447 | ||
448 | static ssize_t ieee80211_if_fmt_tdls_wider_bw( | ||
449 | const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) | ||
450 | { | ||
451 | const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; | ||
452 | bool tdls_wider_bw; | ||
453 | |||
454 | tdls_wider_bw = ieee80211_hw_check(&sdata->local->hw, TDLS_WIDER_BW) && | ||
455 | !ifmgd->tdls_wider_bw_prohibited; | ||
456 | |||
457 | return snprintf(buf, buflen, "%d\n", tdls_wider_bw); | ||
458 | } | ||
459 | |||
460 | static ssize_t ieee80211_if_parse_tdls_wider_bw( | ||
461 | struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) | ||
462 | { | ||
463 | struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; | ||
464 | u8 val; | ||
465 | int ret; | ||
466 | |||
467 | ret = kstrtou8(buf, 0, &val); | ||
468 | if (ret) | ||
469 | return ret; | ||
470 | |||
471 | ifmgd->tdls_wider_bw_prohibited = !val; | ||
472 | return buflen; | ||
473 | } | ||
474 | IEEE80211_IF_FILE_RW(tdls_wider_bw); | ||
475 | |||
458 | /* AP attributes */ | 476 | /* AP attributes */ |
459 | IEEE80211_IF_FILE(num_mcast_sta, u.ap.num_mcast_sta, ATOMIC); | 477 | IEEE80211_IF_FILE(num_mcast_sta, u.ap.num_mcast_sta, ATOMIC); |
460 | IEEE80211_IF_FILE(num_sta_ps, u.ap.ps.num_sta_ps, ATOMIC); | 478 | IEEE80211_IF_FILE(num_sta_ps, u.ap.ps.num_sta_ps, ATOMIC); |
@@ -606,14 +624,13 @@ static void add_sta_files(struct ieee80211_sub_if_data *sdata) | |||
606 | { | 624 | { |
607 | DEBUGFS_ADD(bssid); | 625 | DEBUGFS_ADD(bssid); |
608 | DEBUGFS_ADD(aid); | 626 | DEBUGFS_ADD(aid); |
609 | DEBUGFS_ADD(last_beacon); | ||
610 | DEBUGFS_ADD(ave_beacon); | ||
611 | DEBUGFS_ADD(beacon_timeout); | 627 | DEBUGFS_ADD(beacon_timeout); |
612 | DEBUGFS_ADD_MODE(smps, 0600); | 628 | DEBUGFS_ADD_MODE(smps, 0600); |
613 | DEBUGFS_ADD_MODE(tkip_mic_test, 0200); | 629 | DEBUGFS_ADD_MODE(tkip_mic_test, 0200); |
614 | DEBUGFS_ADD_MODE(beacon_loss, 0200); | 630 | DEBUGFS_ADD_MODE(beacon_loss, 0200); |
615 | DEBUGFS_ADD_MODE(uapsd_queues, 0600); | 631 | DEBUGFS_ADD_MODE(uapsd_queues, 0600); |
616 | DEBUGFS_ADD_MODE(uapsd_max_sp_len, 0600); | 632 | DEBUGFS_ADD_MODE(uapsd_max_sp_len, 0600); |
633 | DEBUGFS_ADD_MODE(tdls_wider_bw, 0600); | ||
617 | } | 634 | } |
618 | 635 | ||
619 | static void add_ap_files(struct ieee80211_sub_if_data *sdata) | 636 | static void add_ap_files(struct ieee80211_sub_if_data *sdata) |