diff options
Diffstat (limited to 'net/mac80211/debugfs_netdev.c')
| -rw-r--r-- | net/mac80211/debugfs_netdev.c | 59 | 
1 files changed, 32 insertions, 27 deletions
diff --git a/net/mac80211/debugfs_netdev.c b/net/mac80211/debugfs_netdev.c index e3326d04694..475f89a8aee 100644 --- a/net/mac80211/debugfs_netdev.c +++ b/net/mac80211/debugfs_netdev.c @@ -155,8 +155,9 @@ static const struct file_operations name##_ops = {			\  		__IEEE80211_IF_WFILE(name)  /* common attributes */ -IEEE80211_IF_FILE(channel_use, channel_use, DEC);  IEEE80211_IF_FILE(drop_unencrypted, drop_unencrypted, DEC); +IEEE80211_IF_FILE(force_unicast_rateidx, force_unicast_rateidx, DEC); +IEEE80211_IF_FILE(max_ratectrl_rateidx, max_ratectrl_rateidx, DEC);  /* STA/IBSS attributes */  IEEE80211_IF_FILE(state, u.sta.state, DEC); @@ -192,8 +193,6 @@ __IEEE80211_IF_FILE(flags);  IEEE80211_IF_FILE(num_sta_ps, u.ap.num_sta_ps, ATOMIC);  IEEE80211_IF_FILE(dtim_count, u.ap.dtim_count, DEC);  IEEE80211_IF_FILE(num_beacons, u.ap.num_beacons, DEC); -IEEE80211_IF_FILE(force_unicast_rateidx, u.ap.force_unicast_rateidx, DEC); -IEEE80211_IF_FILE(max_ratectrl_rateidx, u.ap.max_ratectrl_rateidx, DEC);  static ssize_t ieee80211_if_fmt_num_buffered_multicast(  	const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) @@ -248,8 +247,10 @@ IEEE80211_IF_WFILE(min_discovery_timeout,  static void add_sta_files(struct ieee80211_sub_if_data *sdata)  { -	DEBUGFS_ADD(channel_use, sta);  	DEBUGFS_ADD(drop_unencrypted, sta); +	DEBUGFS_ADD(force_unicast_rateidx, ap); +	DEBUGFS_ADD(max_ratectrl_rateidx, ap); +  	DEBUGFS_ADD(state, sta);  	DEBUGFS_ADD(bssid, sta);  	DEBUGFS_ADD(prev_bssid, sta); @@ -269,27 +270,30 @@ static void add_sta_files(struct ieee80211_sub_if_data *sdata)  static void add_ap_files(struct ieee80211_sub_if_data *sdata)  { -	DEBUGFS_ADD(channel_use, ap);  	DEBUGFS_ADD(drop_unencrypted, ap); +	DEBUGFS_ADD(force_unicast_rateidx, ap); +	DEBUGFS_ADD(max_ratectrl_rateidx, ap); +  	DEBUGFS_ADD(num_sta_ps, ap);  	DEBUGFS_ADD(dtim_count, ap);  	DEBUGFS_ADD(num_beacons, ap); -	DEBUGFS_ADD(force_unicast_rateidx, ap); -	DEBUGFS_ADD(max_ratectrl_rateidx, ap);  	DEBUGFS_ADD(num_buffered_multicast, ap);  }  static void add_wds_files(struct ieee80211_sub_if_data *sdata)  { -	DEBUGFS_ADD(channel_use, wds);  	DEBUGFS_ADD(drop_unencrypted, wds); +	DEBUGFS_ADD(force_unicast_rateidx, ap); +	DEBUGFS_ADD(max_ratectrl_rateidx, ap); +  	DEBUGFS_ADD(peer, wds);  }  static void add_vlan_files(struct ieee80211_sub_if_data *sdata)  { -	DEBUGFS_ADD(channel_use, vlan);  	DEBUGFS_ADD(drop_unencrypted, vlan); +	DEBUGFS_ADD(force_unicast_rateidx, ap); +	DEBUGFS_ADD(max_ratectrl_rateidx, ap);  }  static void add_monitor_files(struct ieee80211_sub_if_data *sdata) @@ -376,8 +380,10 @@ static void add_files(struct ieee80211_sub_if_data *sdata)  static void del_sta_files(struct ieee80211_sub_if_data *sdata)  { -	DEBUGFS_DEL(channel_use, sta);  	DEBUGFS_DEL(drop_unencrypted, sta); +	DEBUGFS_DEL(force_unicast_rateidx, ap); +	DEBUGFS_DEL(max_ratectrl_rateidx, ap); +  	DEBUGFS_DEL(state, sta);  	DEBUGFS_DEL(bssid, sta);  	DEBUGFS_DEL(prev_bssid, sta); @@ -397,27 +403,30 @@ static void del_sta_files(struct ieee80211_sub_if_data *sdata)  static void del_ap_files(struct ieee80211_sub_if_data *sdata)  { -	DEBUGFS_DEL(channel_use, ap);  	DEBUGFS_DEL(drop_unencrypted, ap); +	DEBUGFS_DEL(force_unicast_rateidx, ap); +	DEBUGFS_DEL(max_ratectrl_rateidx, ap); +  	DEBUGFS_DEL(num_sta_ps, ap);  	DEBUGFS_DEL(dtim_count, ap);  	DEBUGFS_DEL(num_beacons, ap); -	DEBUGFS_DEL(force_unicast_rateidx, ap); -	DEBUGFS_DEL(max_ratectrl_rateidx, ap);  	DEBUGFS_DEL(num_buffered_multicast, ap);  }  static void del_wds_files(struct ieee80211_sub_if_data *sdata)  { -	DEBUGFS_DEL(channel_use, wds);  	DEBUGFS_DEL(drop_unencrypted, wds); +	DEBUGFS_DEL(force_unicast_rateidx, ap); +	DEBUGFS_DEL(max_ratectrl_rateidx, ap); +  	DEBUGFS_DEL(peer, wds);  }  static void del_vlan_files(struct ieee80211_sub_if_data *sdata)  { -	DEBUGFS_DEL(channel_use, vlan);  	DEBUGFS_DEL(drop_unencrypted, vlan); +	DEBUGFS_DEL(force_unicast_rateidx, ap); +	DEBUGFS_DEL(max_ratectrl_rateidx, ap);  }  static void del_monitor_files(struct ieee80211_sub_if_data *sdata) @@ -467,12 +476,12 @@ static void del_mesh_config(struct ieee80211_sub_if_data *sdata)  }  #endif -static void del_files(struct ieee80211_sub_if_data *sdata, int type) +static void del_files(struct ieee80211_sub_if_data *sdata)  {  	if (!sdata->debugfsdir)  		return; -	switch (type) { +	switch (sdata->vif.type) {  	case IEEE80211_IF_TYPE_MESH_POINT:  #ifdef CONFIG_MAC80211_MESH  		del_mesh_stats(sdata); @@ -512,29 +521,23 @@ void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata)  	sprintf(buf, "netdev:%s", sdata->dev->name);  	sdata->debugfsdir = debugfs_create_dir(buf,  		sdata->local->hw.wiphy->debugfsdir); +	add_files(sdata);  }  void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata)  { -	del_files(sdata, sdata->vif.type); +	del_files(sdata);  	debugfs_remove(sdata->debugfsdir);  	sdata->debugfsdir = NULL;  } -void ieee80211_debugfs_change_if_type(struct ieee80211_sub_if_data *sdata, -				      int oldtype) -{ -	del_files(sdata, oldtype); -	add_files(sdata); -} - -static int netdev_notify(struct notifier_block * nb, +static int netdev_notify(struct notifier_block *nb,  			 unsigned long state,  			 void *ndev)  {  	struct net_device *dev = ndev;  	struct dentry *dir; -	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); +	struct ieee80211_sub_if_data *sdata;  	char buf[10+IFNAMSIZ];  	if (state != NETDEV_CHANGENAME) @@ -546,6 +549,8 @@ static int netdev_notify(struct notifier_block * nb,  	if (dev->ieee80211_ptr->wiphy->privid != mac80211_wiphy_privid)  		return 0; +	sdata = IEEE80211_DEV_TO_SUB_IF(dev); +  	sprintf(buf, "netdev:%s", dev->name);  	dir = sdata->debugfsdir;  	if (!debugfs_rename(dir->d_parent, dir, dir->d_parent, buf))  |