From patchwork Sat Jan 2 10:30:42 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew Lunn X-Patchwork-Id: 5221 Return-Path: Received: from londo.lunn.ch (londo.lunn.ch [80.238.139.98]) by open-mesh.net (Postfix) with ESMTP id 197BA1540EA for ; Sat, 2 Jan 2010 10:50:47 +0000 (UTC) Received: from lunn by londo.lunn.ch with local (Exim 3.36 #1 (Debian)) id 1NR1GO-0006tS-00; Sat, 02 Jan 2010 11:31:16 +0100 From: Andrew Lunn To: gregkh@suse.de Date: Sat, 2 Jan 2010 11:30:42 +0100 Message-Id: <1262428252-26439-7-git-send-email-andrew@lunn.ch> X-Mailer: git-send-email 1.6.5.7 In-Reply-To: <1262428252-26439-6-git-send-email-andrew@lunn.ch> References: <1262428252-26439-1-git-send-email-andrew@lunn.ch> <1262428252-26439-2-git-send-email-andrew@lunn.ch> <1262428252-26439-3-git-send-email-andrew@lunn.ch> <1262428252-26439-4-git-send-email-andrew@lunn.ch> <1262428252-26439-5-git-send-email-andrew@lunn.ch> <1262428252-26439-6-git-send-email-andrew@lunn.ch> MIME-Version: 1.0 Sender: Andrew Lunn Cc: b.a.t.m.a.n@lists.open-mesh.net Subject: [B.A.T.M.A.N.] [PATCH 07/17] Staging: batman-adv: Fixes rounding issues in vis.c X-BeenThere: b.a.t.m.a.n@lists.open-mesh.net X-Mailman-Version: 2.1.11 Precedence: list Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jan 2010 10:50:47 -0000 From: Linus Lüssing 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 Acked-by: Marek Lindner Signed-off-by: Andrew Lunn --- drivers/staging/batman-adv/vis.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/batman-adv/vis.c b/drivers/staging/batman-adv/vis.c index ac7c7c5..0eb23d2 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,5 +556,5 @@ 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); }