Check best_rate against available clock ranges.

Fixes: df70aeef6083 ("clk: at91: add generated clock driver")
Signed-off-by: Claudiu Beznea <claudiu.bez...@microchip.com>
---
 drivers/clk/at91/clk-generated.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/at91/clk-generated.c b/drivers/clk/at91/clk-generated.c
index 995a13133cfb..f8e557e0e1b8 100644
--- a/drivers/clk/at91/clk-generated.c
+++ b/drivers/clk/at91/clk-generated.c
@@ -185,8 +185,8 @@ static int clk_generated_determine_rate(struct clk_hw *hw,
                 __clk_get_name((req->best_parent_hw)->clk),
                 req->best_parent_rate);
 
-       if (best_rate < 0)
-               return best_rate;
+       if (best_rate < 0 || (gck->range.max && best_rate > gck->range.max))
+               return -EINVAL;
 
        req->rate = best_rate;
        return 0;
-- 
2.7.4

Reply via email to