Skip to content

Commit

Permalink
sh: clkfwk: Fix up rate rounding error handling.
Browse files Browse the repository at this point in the history
According to the linux/clk.h definition we should be handing back an
errno value or a valid rate. This fixes up the case where 0 can be
returned for invalid frequencies or cases where rounding has no
selectable candidate.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Paul Mundt committed Nov 1, 2010
1 parent 3985c7c commit 5aefa34
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/sh/clk/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ struct clk_rate_round_data {
static long clk_rate_round_helper(struct clk_rate_round_data *rounder)
{
unsigned long rate_error, rate_error_prev = ~0UL;
unsigned long rate_best_fit = rounder->rate;
unsigned long highest, lowest, freq;
long rate_best_fit = -ENOENT;
int i;

highest = 0;
Expand Down Expand Up @@ -146,7 +146,7 @@ long clk_rate_table_round(struct clk *clk,
};

if (clk->nr_freqs < 1)
return 0;
return -ENOSYS;

return clk_rate_round_helper(&table_round);
}
Expand Down

0 comments on commit 5aefa34

Please sign in to comment.