Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp632865ybm; Fri, 29 May 2020 08:29:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJykdDSr6UUuv6/VMWagHF5lfNx5IWkVeDc40kmBkUsMp2OXCPLHqoy+zbRFDa9bDJVkHxKE X-Received: by 2002:a50:d7de:: with SMTP id m30mr8112410edj.183.1590766175401; Fri, 29 May 2020 08:29:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590766175; cv=none; d=google.com; s=arc-20160816; b=WfW4bP5rOlztnqe6ktcUIiHVeWu/5bVOy9udN96dGxv0DgzyLi/kg7g9VpYuK8CrLz zQgj73DSgsg+zE1M8Ih4acDZQpVfKuF8noTln+rAe3P4trI5fZmJd841sNrkpXRIQ3tp FW3AhNZhT9t1fyJ7Tpggle7pRoSu6hgS3YikL+dz7M115SyQHlXy5OFaIiplHlgtTt+j qn4AvbNE2kJAzOQ9+Wr41ScDQbhMlVvviaHUx/Ii0GgXYazGUyv32F6bj0S045/M8L/z RxiMw86btSbpUKLGqICJ5WvCDdLghHPEu/NGHu4pqDv7Tbk1/61WSIVRxDpmScZHeIrV IJ3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=C1aeXGJdnERBxZv/EDuzO8e2CJX/EGZ0lQ/hH3DCHlI=; b=Z0ngd+f2muWmsKtrhf2Lg5utRHUWGrlt7zCRhodFbWFljdOTs686oeyC7HzGh53AMF fb261BF5onswglWQhGB8F/Sv8LSHqDnvGlvQhdw/d+xRosWaXVXotD143GzgY+AS6afB YNZDamxJr0Duh/FVWxCWqrI95LUeNnJBUz86qEHgotaIQeKo2jPbGp89t1s9kl1s0RCa 30pY0y3T/A53YDcUAFsK873c6OE1SdcztVxWaGYCsYiRLONKjn6BCge/mKzIoz44hpHk Qtq1agpCRXquRF2yvgHVXd8C7nM4BUsmmxfDEMGK/47syASemIQgjSvxFgSngIMsfRBN O++Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=126.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k20si1060920ejs.600.2020.05.29.08.29.11; Fri, 29 May 2020 08:29:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=126.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727025AbgE2PZZ (ORCPT + 99 others); Fri, 29 May 2020 11:25:25 -0400 Received: from out28-99.mail.aliyun.com ([115.124.28.99]:56979 "EHLO out28-99.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726849AbgE2PZZ (ORCPT ); Fri, 29 May 2020 11:25:25 -0400 X-Alimail-AntiSpam: AC=CONTINUE;BC=0.2575274|-1;CH=green;DM=|CONTINUE|false|;DS=CONTINUE|ham_system_inform|0.164164-0.0016903-0.834146;FP=0|0|0|0|0|-1|-1|-1;HT=e02c03303;MF=liu.xiang@zlingsmart.com;NM=1;PH=DS;RN=5;RT=5;SR=0;TI=SMTPD_---.HfSn9bf_1590765903; Received: from localhost(mailfrom:liu.xiang@zlingsmart.com fp:SMTPD_---.HfSn9bf_1590765903) by smtp.aliyun-inc.com(10.194.97.171); Fri, 29 May 2020 23:25:03 +0800 From: Liu Xiang To: fugang.duan@nxp.com Cc: davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Liu Xiang Subject: [PATCH] net: fec: disable correct clk in the err path of fec_enet_clk_enable Date: Fri, 29 May 2020 23:24:56 +0800 Message-Id: <1590765896-3390-1-git-send-email-liuxiang_1999@126.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When enable clk_ref failed, clk_ptp should be disabled rather than clk_ref itself. Signed-off-by: Liu Xiang --- drivers/net/ethernet/freescale/fec_main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index dc6f876..ac8d868 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -1986,8 +1986,12 @@ static int fec_enet_clk_enable(struct net_device *ndev, bool enable) return 0; failed_clk_ref: - if (fep->clk_ref) - clk_disable_unprepare(fep->clk_ref); + if (fep->clk_ptp) { + mutex_lock(&fep->ptp_clk_mutex); + clk_disable_unprepare(fep->clk_ptp); + fep->ptp_clk_on = false; + mutex_unlock(&fep->ptp_clk_mutex); + } failed_clk_ptp: if (fep->clk_enet_out) clk_disable_unprepare(fep->clk_enet_out); -- 1.9.1