Author: marek Date: 2009-12-17 23:09:28 +0000 (Thu, 17 Dec 2009) New Revision: 1506
Modified: trunk/batman-adv-kernelland/vis.c Log: 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
Modified: trunk/batman-adv-kernelland/vis.c =================================================================== --- trunk/batman-adv-kernelland/vis.c 2009-12-17 13:32:48 UTC (rev 1505) +++ trunk/batman-adv-kernelland/vis.c 2009-12-17 23:09:28 UTC (rev 1506) @@ -377,7 +377,7 @@ 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,5 +556,5 @@ 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); }