clk_round_rate() is intended to be used to round a given clock rate to
the closest one achievable by the actual clock. This implies that the
input to clk_round_rate() is expected to be unachievable - and such
cases shouldn't be treated as exceptional.

To reflect this, remove the WARN_ONs which trigger when an unachievable
clock rate is passed to vexpress_osc_round_rate().

Reported-by: Vladimir Murzin <vladimir.mur...@arm.com>
Signed-off-by: Brian Starkey <brian.star...@arm.com>
Acked-by: Sudeep Holla <sudeep.ho...@arm.com>
---
 drivers/clk/versatile/clk-vexpress-osc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/versatile/clk-vexpress-osc.c 
b/drivers/clk/versatile/clk-vexpress-osc.c
index e7a868b83fe5..59703d569d49 100644
--- a/drivers/clk/versatile/clk-vexpress-osc.c
+++ b/drivers/clk/versatile/clk-vexpress-osc.c
@@ -44,10 +44,10 @@ static long vexpress_osc_round_rate(struct clk_hw *hw, 
unsigned long rate,
 {
        struct vexpress_osc *osc = to_vexpress_osc(hw);
 
-       if (WARN_ON(osc->rate_min && rate < osc->rate_min))
+       if (osc->rate_min && rate < osc->rate_min)
                rate = osc->rate_min;
 
-       if (WARN_ON(osc->rate_max && rate > osc->rate_max))
+       if (osc->rate_max && rate > osc->rate_max)
                rate = osc->rate_max;
 
        return rate;
-- 
1.9.1

Reply via email to