aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/batman-adv/vis.c
diff options
context:
space:
mode:
authorLinus Lüssing <linus.luessing@web.de>2010-01-02 11:30:42 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-03 16:42:35 -0800
commit9bbf1ecdb36e2395eecbf04229eaaedce3589db5 (patch)
tree583e89573a8d43a323c1e2f86c4c8094e4197a03 /drivers/staging/batman-adv/vis.c
parentcec4a69cfc2bc780b4107193cb9bd621b67ab2b6 (diff)
downloadkernel_samsung_smdk4412-9bbf1ecdb36e2395eecbf04229eaaedce3589db5.zip
kernel_samsung_smdk4412-9bbf1ecdb36e2395eecbf04229eaaedce3589db5.tar.gz
kernel_samsung_smdk4412-9bbf1ecdb36e2395eecbf04229eaaedce3589db5.tar.bz2
Staging: batman-adv: Fixes rounding issues in vis.c
This patches fixes two rounding issues in vis.c for sending and purging vis packets. Before, the timers and timeouts always got rounded down to seconds, though we want a precision in milliseconds. This also fixes a kernel panic that occures when lowering the timer for sending vis packets (vis_interval) to less than 1000ms in main.c manually. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Acked-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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/batman-adv/vis.c b/drivers/staging/batman-adv/vis.c
index 086da87..0546310 100644
--- a/drivers/staging/batman-adv/vis.c
+++ b/drivers/staging/batman-adv/vis.c
@@ -377,7 +377,7 @@ static void purge_vis_packets(void)
if (info == my_vis_info) /* never purge own data. */
continue;
if (time_after(jiffies,
- info->first_seen + (VIS_TIMEOUT/1000)*HZ)) {
+ info->first_seen + (VIS_TIMEOUT*HZ)/1000)) {
hash_remove_bucket(vis_hash, &hashit);
free_info(info);
}
@@ -556,6 +556,6 @@ void vis_quit(void)
static void start_vis_timer(void)
{
queue_delayed_work(bat_event_workqueue, &vis_timer_wq,
- (atomic_read(&vis_interval)/1000) * HZ);
+ (atomic_read(&vis_interval) * HZ) / 1000);
}