diff options
author | Tero Kristo <t-kristo@ti.com> | 2020-09-07 10:25:58 +0200 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2020-09-22 22:00:07 +0200 |
commit | cec4a609a88823084bf09cb2cdacda63a363593a (patch) | |
tree | 682695287063726c9a81935309890b19ce49aef9 /drivers/clk/ti | |
parent | clk: keystone: sci-clk: add 10% slack to set_rate (diff) | |
download | linux-cec4a609a88823084bf09cb2cdacda63a363593a.tar.xz linux-cec4a609a88823084bf09cb2cdacda63a363593a.zip |
clk: ti: autoidle: add checks against NULL pointer reference
The clk pointer passed to omap2_clk_(deny|allow)_idle can be NULL, so
add checks for this.
Reported-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Link: https://lore.kernel.org/r/20200907082600.454-2-t-kristo@ti.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/ti')
-rw-r--r-- | drivers/clk/ti/autoidle.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/clk/ti/autoidle.c b/drivers/clk/ti/autoidle.c index 1cae226759dd..f6f8a409f148 100644 --- a/drivers/clk/ti/autoidle.c +++ b/drivers/clk/ti/autoidle.c @@ -82,7 +82,12 @@ static int _omap2_clk_allow_idle(struct clk_hw_omap *clk) */ int omap2_clk_deny_idle(struct clk *clk) { - struct clk_hw *hw = __clk_get_hw(clk); + struct clk_hw *hw; + + if (!clk) + return -EINVAL; + + hw = __clk_get_hw(clk); if (omap2_clk_is_hw_omap(hw)) { struct clk_hw_omap *c = to_clk_hw_omap(hw); @@ -101,7 +106,12 @@ int omap2_clk_deny_idle(struct clk *clk) */ int omap2_clk_allow_idle(struct clk *clk) { - struct clk_hw *hw = __clk_get_hw(clk); + struct clk_hw *hw; + + if (!clk) + return -EINVAL; + + hw = __clk_get_hw(clk); if (omap2_clk_is_hw_omap(hw)) { struct clk_hw_omap *c = to_clk_hw_omap(hw); |