From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932785AbbIUNvf (ORCPT ); Mon, 21 Sep 2015 09:51:35 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:37352 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756888AbbIUNgR (ORCPT ); Mon, 21 Sep 2015 09:36:17 -0400 X-AuditID: cbfec7f5-f794b6d000001495-3b-560007cfb1eb From: Andrzej Hajda To: linux-kernel@vger.kernel.org Cc: Andrzej Hajda , Bartlomiej Zolnierkiewicz , Marek Szyprowski , Michael Turquette , Stephen Boyd , linux-clk@vger.kernel.org Subject: [PATCH 14/38] clk: vt8500: fix sign of possible PLL values Date: Mon, 21 Sep 2015 15:33:46 +0200 Message-id: <1442842450-29769-15-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1442842450-29769-1-git-send-email-a.hajda@samsung.com> References: <1442842450-29769-1-git-send-email-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupjluLIzCtJLcpLzFFi42I5/e/4Vd3z7AxhBv92GlvcWneO1WLjjPWs Fh977rFaXN41h81i7ZG77BYXT7la/DjTzeLA7vH+Riu7x+W+XiaPvi2rGD0+b5ILYInisklJ zcksSy3St0vgylj+YhprwXbeip6W4AbGGdxdjJwcEgImEqcPnWODsMUkLtxbD2RzcQgJLGWU WNjUzg7hNDFJrFh0hQmkik1AU+Lv5ptgHSICChKbe5+xghQxC/xnlPgwcStYkbCAs8SbWQ9Y QGwWAVWJLX+awOK8Ai4S3899Y4VYJydx8thkMJsTKH7g4BeweiGg3gNLjjBNYORdwMiwilE0 tTS5oDgpPddIrzgxt7g0L10vOT93EyMklL7uYFx6zOoQowAHoxIPr6PA/1Ah1sSy4srcQ4wS HMxKIrw6s4BCvCmJlVWpRfnxRaU5qcWHGKU5WJTEeWfueh8iJJCeWJKanZpakFoEk2Xi4JRq YFR29XeX1A3buHVF8LKoL3GJF8wbWL4VmmxbJLVsgrv/+S7jhCMK+l/XueyrPdToK2W75/BS 3jcu8/e4feyWnmt+I/J8vmaAwv1CvdWzziR3H/xcqSvyKnJGyd5ydYNpj0+0Zq7i/rz0c/XF 30x2MZvPtjHtYO77+f/CrCfyf7ayMr54ZL3/lIASS3FGoqEWc1FxIgDuEdwPIQIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org With unsigned values underflow in loops can occur resulting in theoretically infinite loops. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda --- drivers/clk/clk-vt8500.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/clk/clk-vt8500.c b/drivers/clk/clk-vt8500.c index 37e9288..098e9fa 100644 --- a/drivers/clk/clk-vt8500.c +++ b/drivers/clk/clk-vt8500.c @@ -384,7 +384,7 @@ static void vt8500_find_pll_bits(unsigned long rate, unsigned long parent_rate, static void wm8650_find_pll_bits(unsigned long rate, unsigned long parent_rate, u32 *multiplier, u32 *divisor1, u32 *divisor2) { - u32 mul, div1, div2; + int mul, div1, div2; u32 best_mul, best_div1, best_div2; unsigned long tclk, rate_err, best_err; @@ -452,7 +452,7 @@ static u32 wm8750_get_filter(u32 parent_rate, u32 divisor1) static void wm8750_find_pll_bits(unsigned long rate, unsigned long parent_rate, u32 *filter, u32 *multiplier, u32 *divisor1, u32 *divisor2) { - u32 mul, div1, div2; + int mul, div1, div2; u32 best_mul, best_div1, best_div2; unsigned long tclk, rate_err, best_err; @@ -496,7 +496,7 @@ static void wm8750_find_pll_bits(unsigned long rate, unsigned long parent_rate, static void wm8850_find_pll_bits(unsigned long rate, unsigned long parent_rate, u32 *multiplier, u32 *divisor1, u32 *divisor2) { - u32 mul, div1, div2; + int mul, div1, div2; u32 best_mul, best_div1, best_div2; unsigned long tclk, rate_err, best_err; -- 1.9.1