[PATCH 01/13] ARM: OMAP2+: clock/dpll: fix _dpll_test_fint arithmetics overflow

Paul Walmsley paul at pwsan.com
Sun Jul 6 14:58:22 PDT 2014


On Wed, 2 Jul 2014, Tero Kristo wrote:

> 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 at ti.com>
> ---
>  arch/arm/mach-omap2/clkt_dpll.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-omap2/clkt_dpll.c b/arch/arm/mach-omap2/clkt_dpll.c
> index 332af92..5aa734a 100644
> --- a/arch/arm/mach-omap2/clkt_dpll.c
> +++ b/arch/arm/mach-omap2/clkt_dpll.c
> @@ -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, int n)
>  {
>  	struct dpll_data *dd;
>  	long fint, fint_min, fint_max;
> -- 
> 1.7.9.5
> 

Queued for v3.16-rc fixes, but I've changed the type of 'n' to be unsigned 
int rather than int, since a negative n is meaningless.


- Paul



More information about the linux-arm-kernel mailing list