Commit 5aefa34fada9d17a00635516688de34702451708
1 parent
3985c7ce85
Exists in
master
and in
4 other branches
sh: clkfwk: Fix up rate rounding error handling.
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>
Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff
drivers/sh/clk/core.c
... | ... | @@ -90,8 +90,8 @@ |
90 | 90 | static long clk_rate_round_helper(struct clk_rate_round_data *rounder) |
91 | 91 | { |
92 | 92 | unsigned long rate_error, rate_error_prev = ~0UL; |
93 | - unsigned long rate_best_fit = rounder->rate; | |
94 | 93 | unsigned long highest, lowest, freq; |
94 | + long rate_best_fit = -ENOENT; | |
95 | 95 | int i; |
96 | 96 | |
97 | 97 | highest = 0; |
... | ... | @@ -146,7 +146,7 @@ |
146 | 146 | }; |
147 | 147 | |
148 | 148 | if (clk->nr_freqs < 1) |
149 | - return 0; | |
149 | + return -ENOSYS; | |
150 | 150 | |
151 | 151 | return clk_rate_round_helper(&table_round); |
152 | 152 | } |