aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/batman-adv/vis.c
diff options
context:
space:
mode:
authorMarek Lindner <lindner_marek@yahoo.de>2010-05-07 21:47:22 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-11 13:42:39 -0700
commit208e13e4297a1d9b986aa371c4529df7dda1c835 (patch)
tree037587ed4e6df7004762e6e22593a61dc87c1079 /drivers/staging/batman-adv/vis.c
parent35bd69d42e2fba4c0fd547e3bf99a0afd5700f76 (diff)
downloadkernel_samsung_smdk4412-208e13e4297a1d9b986aa371c4529df7dda1c835.zip
kernel_samsung_smdk4412-208e13e4297a1d9b986aa371c4529df7dda1c835.tar.gz
kernel_samsung_smdk4412-208e13e4297a1d9b986aa371c4529df7dda1c835.tar.bz2
Staging: batman-adv: move /proc interface handling to /sys
Instead of having a single /proc file "interfaces" in which you have to echo the wanted interface batman-adv will create a subfolder in each suitable /sys/class/net folder. This subfolder contains files for the interface specific settings. For example, mesh_iface to add/remove an interface from a virtual mesh network (at the moment only bat0 is supported). Example: echo bat0 > /sys/class/net/eth0/batman-adv/mesh_iface to deactivate: echo none > /sys/class/net/eth0/batman-adv/mesh_iface Interfaces which are not compatible with batman-adv won't contain the batman-adv folder, therefore can't be activated. Not supported are: loopback, non-ethernet, non-ARP and virtual mesh network interfaces Signed-off-by: Marek Lindner <lindner_marek@yahoo.de> Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/batman-adv/vis.c')
-rw-r--r--drivers/staging/batman-adv/vis.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/staging/batman-adv/vis.c b/drivers/staging/batman-adv/vis.c
index 57d69d7..b6ff031 100644
--- a/drivers/staging/batman-adv/vis.c
+++ b/drivers/staging/batman-adv/vis.c
@@ -173,13 +173,10 @@ ssize_t vis_fill_buffer_text(struct net_device *net_dev, char *buff,
unsigned long flags;
int vis_server = atomic_read(&bat_priv->vis_mode);
- rcu_read_lock();
- if (list_empty(&if_list) || (vis_server == VIS_TYPE_CLIENT_UPDATE)) {
- rcu_read_unlock();
+ if ((!bat_priv->primary_if) ||
+ (vis_server == VIS_TYPE_CLIENT_UPDATE))
return 0;
- }
- rcu_read_unlock();
hdr_len = 0;
spin_lock_irqsave(&vis_hash_lock, flags);
@@ -498,7 +495,7 @@ static int generate_vis_packet(struct bat_priv *bat_priv)
if (orig_node->router != NULL
&& compare_orig(orig_node->router->addr,
orig_node->orig)
- && (orig_node->router->if_incoming->if_active ==
+ && (orig_node->router->if_incoming->if_status ==
IF_ACTIVE)
&& orig_node->router->tq_avg > 0) {