Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964950AbcJVOd7 (ORCPT ); Sat, 22 Oct 2016 10:33:59 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:34043 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934263AbcJVOd6 (ORCPT ); Sat, 22 Oct 2016 10:33:58 -0400 From: Wei Yongjun To: Kishon Vijay Abraham I , Carlo Caione , Kevin Hilman Cc: Wei Yongjun , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org Subject: [PATCH -next] phy: meson8b-usb2: fix missing clk_disable_unprepare() on error Date: Sat, 22 Oct 2016 14:33:42 +0000 Message-Id: <1477146822-31327-1-git-send-email-weiyj.lk@gmail.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1058 Lines: 31 From: Wei Yongjun Fix the missing clk_disable_unprepare() before return from phy_meson8b_usb2_power_on() in the error handling case. Signed-off-by: Wei Yongjun --- drivers/phy/phy-meson8b-usb2.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/phy/phy-meson8b-usb2.c b/drivers/phy/phy-meson8b-usb2.c index 73bf632..dca3947 100644 --- a/drivers/phy/phy-meson8b-usb2.c +++ b/drivers/phy/phy-meson8b-usb2.c @@ -158,6 +158,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy) ret = clk_prepare_enable(priv->clk_usb); if (ret) { dev_err(&phy->dev, "Failed to enable USB DDR clock\n"); + clk_disable_unprepare(priv->clk_usb_general); return ret; } @@ -190,6 +191,8 @@ static int phy_meson8b_usb2_power_on(struct phy *phy) if (phy_meson8b_usb2_read(priv, REG_ADP_BC) & REG_ADP_BC_ACA_PIN_FLOAT) { dev_warn(&phy->dev, "USB ID detect failed!\n"); + clk_disable_unprepare(priv->clk_usb); + clk_disable_unprepare(priv->clk_usb_general); return -EINVAL; } }