diff options
author | Mike Turquette <mturquette@linaro.org> | 2014-01-14 20:56:01 (GMT) |
---|---|---|
committer | Mike Turquette <mturquette@linaro.org> | 2014-01-15 15:48:03 (GMT) |
commit | 5d2043fbe4ddc6cc16ba71b49c2c13f4cb2fe932 (patch) | |
tree | 7252db3f4c513e4184970a0b838a56634f0e9268 | |
parent | 119754e57609113818f1226925046bfd54d6dc53 (diff) | |
download | linux-5d2043fbe4ddc6cc16ba71b49c2c13f4cb2fe932.tar.xz |
clk: composite: pass mux_hw into determine_rate
The composite clock's .determine_rate implementation can call the
underyling .determine_rate callback corresponding to rate_hw or the
underlying .determine_rate callback corresponding to mux_hw. In both
cases we pass in rate_hw, which is wrong. Fixed by passing mux_hw into
the correct callback.
Reported-by: Lemon Dai <dailemon.gl@gmail.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
-rw-r--r-- | drivers/clk/clk-composite.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/clk-composite.c b/drivers/clk/clk-composite.c index 753d0b7..57a078e 100644 --- a/drivers/clk/clk-composite.c +++ b/drivers/clk/clk-composite.c @@ -71,7 +71,7 @@ static long clk_composite_determine_rate(struct clk_hw *hw, unsigned long rate, best_parent_p); } else if (mux_hw && mux_ops && mux_ops->determine_rate) { mux_hw->clk = hw->clk; - return mux_ops->determine_rate(rate_hw, rate, best_parent_rate, + return mux_ops->determine_rate(mux_hw, rate, best_parent_rate, best_parent_p); } else { pr_err("clk: clk_composite_determine_rate function called, but no mux or rate callback set!\n"); |