diff --git a/drivers/bluetooth/btpower.c b/drivers/bluetooth/btpower.c index 2839bb96f594..8735b34a2210 100644 --- a/drivers/bluetooth/btpower.c +++ b/drivers/bluetooth/btpower.c @@ -257,11 +257,13 @@ static int bt_clk_enable(struct bt_power_clk_data *clk) pr_debug("%s: %s\n", __func__, clk->name); - /* Get the clock handle for vreg */ - if (!clk->clk || clk->is_enabled) { - pr_err("%s: error - node: %p, clk->is_enabled:%d\n", - __func__, clk->clk, clk->is_enabled); + if (!clk->clk) return -EINVAL; + /* Get the clock handle for vreg */ + if (clk->is_enabled) { + pr_warning("%s: node: %p, clk->is_enabled:%d\n", + __func__, clk->clk, clk->is_enabled); + return 0; } rc = clk_prepare_enable(clk->clk); @@ -281,11 +283,13 @@ static int bt_clk_disable(struct bt_power_clk_data *clk) pr_debug("%s: %s\n", __func__, clk->name); - /* Get the clock handle for vreg */ - if (!clk->clk || !clk->is_enabled) { - pr_err("%s: error - node: %p, clk->is_enabled:%d\n", - __func__, clk->clk, clk->is_enabled); + if (!clk->clk) return -EINVAL; + /* Get the clock handle for vreg */ + if (!clk->is_enabled) { + pr_warning("%s: node: %p, clk->is_enabled:%d\n", + __func__, clk->clk, clk->is_enabled); + return 0; } clk_disable_unprepare(clk->clk);