clk: divider: Fix table round up function
authorMaxime COQUELIN <maxime.coquelin@st.com>
Wed, 7 May 2014 16:48:52 +0000 (18:48 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 8 Dec 2014 19:27:08 +0000 (19:27 +0000)
commiteb67fcdaa0fb0e40ad4d43190b89b4dead973686
tree87dfabee11e8d010d7e64dc28fe3fe6ce6b0a11b
parent87ad06cba792914a542304c9d11ad49d9878a759
clk: divider: Fix table round up function

Commit 1d9fe6b97 ("clk: divider: Fix best div calculation for power-of-two and
table dividers") introduces a regression in its _table_round_up function.

When the divider passed to this function is greater than the max divider
available in the table, this function returns table's max divider.
Problem is that it causes an infinite loop in clk_divider_bestdiv() because
_next_div() will never return a value greater than maxdiv.

Instead of returning table's max divider, this patch returns INT_MAX.

Reported-by: Fabio Estevam <festevam@gmail.com>
Reported-by: Shawn Guo <shawn.guo@freescale.com>
Tested-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
(cherry picked from commit fe52e7505f8bf365d5ab0eeee19ababe406cbaaf)
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/clk/clk-divider.c