summaryrefslogtreecommitdiffstats
path: root/drivers/staging/batman-adv/send.c
diff options
context:
space:
mode:
authorLinus Luessing <linus.luessing@web.de>2010-02-19 16:18:08 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-03 16:43:02 -0800
commit837b8248f6206a6b08b3d6defe2946282e432679 (patch)
treecb17aef52d0578dea091365c26656712abd8b087 /drivers/staging/batman-adv/send.c
parentbc0ad071a788625abb23aee4cb3c07d17d501641 (diff)
downloadop-kernel-dev-837b8248f6206a6b08b3d6defe2946282e432679.zip
op-kernel-dev-837b8248f6206a6b08b3d6defe2946282e432679.tar.gz
Staging: batman-adv: atomic variable for vis-srv activation
This fixes the bug discovered by Marek Lindner which did not allow turning on the vis-server before an interface has been added. With this patch we are using a global atomic variable for activating and deactiating the vis-server-mode, which can be used before inserting an interface. Signed-off-by: Linus Luessing <linus.luessing@web.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/send.c')
-rw-r--r--drivers/staging/batman-adv/send.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/batman-adv/send.c b/drivers/staging/batman-adv/send.c
index 944b2cd..2a9fac8 100644
--- a/drivers/staging/batman-adv/send.c
+++ b/drivers/staging/batman-adv/send.c
@@ -248,6 +248,7 @@ void schedule_own_packet(struct batman_if *batman_if)
{
unsigned long send_time;
struct batman_packet *batman_packet;
+ int vis_server = atomic_read(&vis_mode);
/**
* the interface gets activated here to avoid race conditions between
@@ -272,7 +273,7 @@ void schedule_own_packet(struct batman_if *batman_if)
/* change sequence number to network order */
batman_packet->seqno = htons((uint16_t)atomic_read(&batman_if->seqno));
- if (is_vis_server())
+ if (vis_server == VIS_TYPE_SERVER_SYNC)
batman_packet->flags = VIS_SERVER;
else
batman_packet->flags = 0;
OpenPOWER on IntegriCloud