Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp919473ybc; Tue, 12 Nov 2019 11:14:54 -0800 (PST) X-Google-Smtp-Source: APXvYqy1PTimWEJQP76Kpta0/q5vMr2F5NPhnFQPxT1NT259qBkz9HNhnwOr1gUaXVmVMHO0Hk/Y X-Received: by 2002:a50:de0b:: with SMTP id z11mr6427789edk.33.1573586094445; Tue, 12 Nov 2019 11:14:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573586094; cv=none; d=google.com; s=arc-20160816; b=pphelfSqufU4qCptK/2Pg8oQRVqD59fZ9Wtd7O8TcAmel3xC/mBw+KDnaEFynihim0 QjnTbCsFNzLPIldQ99kWDcy/g5g4nrySmvl1Vee8Wl2LMAw+JNMA0zdB14CDpnH6U6IW qz+zhnJr1sCoEAtz3JqXVDY3O6+kk7DHnSjZrKXEI83NYgwOcIXYwCMu+Fza91niPfYI xXCHM5v0qwBWPhoFNOC/3Bllml8Eap+VaD1TeXuE8azv9LZzhVry9C7xVWPfN+qzcVj3 3iUBx1wKNjrWG2QsTCaVSyniI90FlB7owejqWjT4xkxPdutHYTvlj3JmPKXAv9zUIs1c tjfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:from:subject:cc:to:message-id:date; bh=LXHCY4qG5gWRA0qH1nI3Umaj06kt/rdKZ55q0qAM1AQ=; b=hc3HdnXK45D5/IQIuqDCBQaio3smG+HUAXQn69ko2SUg5LZZomTVyTvzdCthBQt1gL xkwsnZIB4zayz9ewm25tj+Mi1C8c2UgTQA5kfDEcV9xngAxUBxk5N9Sg115SB2ioUN6W 52Ic0J4bcf83EDrsn136yWoXHQv6u7Uk3XU/pohBQ1QEhM/02dMA6lXqg5kNIN6c9OOY yUJE0RHdHFvQniNSrC7rIlz8R+u+drq5MYatPQyt3QTIUw2KSzayG5YsAAXppUlolTpA THqeiZs1ciG0+AAhfRD8MGOxSo/L75lRfSR0owhMBv9h2jNBLZRWlGLiH4phT0VYdkdv 0L8Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c31si13826195edb.56.2019.11.12.11.14.30; Tue, 12 Nov 2019 11:14:54 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727069AbfKLTNT (ORCPT + 99 others); Tue, 12 Nov 2019 14:13:19 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:48020 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725997AbfKLTNT (ORCPT ); Tue, 12 Nov 2019 14:13:19 -0500 Received: from localhost (unknown [IPv6:2601:601:9f00:1e2::d71]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id B5670154CD36F; Tue, 12 Nov 2019 11:13:18 -0800 (PST) Date: Tue, 12 Nov 2019 11:13:18 -0800 (PST) Message-Id: <20191112.111318.1764384720609728917.davem@davemloft.net> To: hslester96@gmail.com Cc: fugang.duan@nxp.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH net v2] net: fec: add a check for CONFIG_PM to avoid clock count mis-match From: David Miller In-Reply-To: <20191112112830.27561-1-hslester96@gmail.com> References: <20191112112830.27561-1-hslester96@gmail.com> X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Tue, 12 Nov 2019 11:13:18 -0800 (PST) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chuhong Yuan Date: Tue, 12 Nov 2019 19:28:30 +0800 > If CONFIG_PM is enabled, runtime pm will work and call runtime_suspend > automatically to disable clks. > Therefore, remove only needs to disable clks when CONFIG_PM is disabled. > Add this check to avoid clock count mis-match caused by double-disable. > > Fixes: c43eab3eddb4 ("net: fec: add missed clk_disable_unprepare in remove") > Signed-off-by: Chuhong Yuan I don't understand this at all. The clk disables here match the unconditional clk enables in the probe function. And that is how this is supposed to work, probe enables match remove disables. And suspend disables match resume enables. Why isn't the probe enable taking the correct count, which the remove function must match with an appropriate disable? There is no CONFIG_PM guarding the probe time clk enables.