From: Mike Turquette Date: Tue, 14 Jan 2014 20:56:01 +0000 (-0800) Subject: clk: composite: pass mux_hw into determine_rate X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=5d2043fbe4ddc6cc16ba71b49c2c13f4cb2fe932;p=~andy%2Flinux 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 Signed-off-by: Mike Turquette --- diff --git a/drivers/clk/clk-composite.c b/drivers/clk/clk-composite.c index 753d0b78476..57a078e06ef 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");