ARM: OMAP2+: clock/dpll: fix _dpll_test_fint arithmetics overflow
authorTero Kristo <t-kristo@ti.com>
Wed, 2 Jul 2014 08:47:35 +0000 (11:47 +0300)
committerPaul Walmsley <paul@pwsan.com>
Sun, 6 Jul 2014 21:58:38 +0000 (15:58 -0600)
The divider value provided to the _dpll_test_fint can reach value of
256 with J type DPLLs (USB etc.), which causes an overflow with the u8
datatype. Fix this by changing the parameter to be an int instead.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
[paul@pwsan.com: changed type of 'n' to unsigned int]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/clkt_dpll.c

index 332af92..67fd26a 100644 (file)
@@ -76,7 +76,7 @@
  * (assuming that it is counting N upwards), or -2 if the enclosing loop
  * should skip to the next iteration (again assuming N is increasing).
  */
-static int _dpll_test_fint(struct clk_hw_omap *clk, u8 n)
+static int _dpll_test_fint(struct clk_hw_omap *clk, unsigned int n)
 {
        struct dpll_data *dd;
        long fint, fint_min, fint_max;