diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2016-02-10 09:25:17 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2016-02-11 15:12:33 +0100 |
commit | e972c37459c813190461dabfeaac228e00aae259 (patch) | |
tree | 1a0f5c29365850ca1ce2254806a803fa701b31db /arch/arm/common | |
parent | ARM: 8517/1: ICST: avoid arithmetic overflow in icst_hz() (diff) | |
download | linux-e972c37459c813190461dabfeaac228e00aae259.tar.xz linux-e972c37459c813190461dabfeaac228e00aae259.zip |
ARM: 8519/1: ICST: try other dividends than 1
Since the dawn of time the ICST code has only supported divide
by one or hang in an eternal loop. Luckily we were always dividing
by one because the reference frequency for the systems using
the ICSTs is 24MHz and the [min,max] values for the PLL input
if [10,320] MHz for ICST307 and [6,200] for ICST525, so the loop
will always terminate immediately without assigning any divisor
for the reference frequency.
But for the code to make sense, let's insert the missing i++
Reported-by: David Binderman <dcb314@hotmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/common')
-rw-r--r-- | arch/arm/common/icst.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/common/icst.c b/arch/arm/common/icst.c index d3c0e69df259..d7ed252708c5 100644 --- a/arch/arm/common/icst.c +++ b/arch/arm/common/icst.c @@ -62,6 +62,7 @@ icst_hz_to_vco(const struct icst_params *p, unsigned long freq) if (f > p->vco_min && f <= p->vco_max) break; + i++; } while (i < 8); if (i >= 8) |