mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 18:14:07 +08:00
clk: handle NULL struct clk gracefully
At some point changes to clk_set_rate and clk_set_parent introduced a bug whereby NULL struct clk pointers were treated as an error. This is in violation of the API in include/linux/clk.h. Reintroduce graceful handling of NULL clk's by bailing from clk_set_rate and clk_set_parent with return codes of zero. Signed-off-by: Mike Turquette <mturquette@linaro.org>
This commit is contained in:
parent
bddbd13453
commit
89ac8d7ae1
@ -1428,6 +1428,9 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
|
||||
struct clk *top, *fail_clk;
|
||||
int ret = 0;
|
||||
|
||||
if (!clk)
|
||||
return 0;
|
||||
|
||||
/* prevent racing with updates to the clock topology */
|
||||
clk_prepare_lock();
|
||||
|
||||
@ -1567,7 +1570,10 @@ int clk_set_parent(struct clk *clk, struct clk *parent)
|
||||
u8 p_index = 0;
|
||||
unsigned long p_rate = 0;
|
||||
|
||||
if (!clk || !clk->ops)
|
||||
if (!clk)
|
||||
return 0;
|
||||
|
||||
if (!clk->ops)
|
||||
return -EINVAL;
|
||||
|
||||
/* verify ops for for multi-parent clks */
|
||||
|
Loading…
Reference in New Issue
Block a user