From: Aditya Pakki Date: Sat, 5 Jan 2019 19:58:45 +0000 (-0600) Subject: PM: clock_ops: fix missing clk_prepare() return value check X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=40619f7dd3ef05ae7861bc60d401585d316e1374;p=openwrt%2Fstaging%2Fblogic.git PM: clock_ops: fix missing clk_prepare() return value check clk_prepare() can fail, so check its status and if it fails, issue an error message and change the clock_entry_status to PCE_STATUS_ERROR. Signed-off-by: Aditya Pakki [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/base/power/clock_ops.c b/drivers/base/power/clock_ops.c index 5a42ae4078c2..365ad751ce0f 100644 --- a/drivers/base/power/clock_ops.c +++ b/drivers/base/power/clock_ops.c @@ -65,10 +65,15 @@ static void pm_clk_acquire(struct device *dev, struct pm_clock_entry *ce) if (IS_ERR(ce->clk)) { ce->status = PCE_STATUS_ERROR; } else { - clk_prepare(ce->clk); - ce->status = PCE_STATUS_ACQUIRED; - dev_dbg(dev, "Clock %pC con_id %s managed by runtime PM.\n", - ce->clk, ce->con_id); + if (clk_prepare(ce->clk)) { + ce->status = PCE_STATUS_ERROR; + dev_err(dev, "clk_prepare() failed\n"); + } else { + ce->status = PCE_STATUS_ACQUIRED; + dev_dbg(dev, + "Clock %pC con_id %s managed by runtime PM.\n", + ce->clk, ce->con_id); + } } }