From: Andrew Lunn <andrew@lunn.ch>
To: lizhe <sensor1010@163.com>
Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, mcoquelin.stm32@gmail.com,
alexandre.torgue@foss.st.com, jonas@kwiboo.se,
rmk+kernel@armlinux.org.uk, david.wu@rock-chips.com,
wens@csie.org, u.kleine-koenig@baylibre.com,
an.petrous@oss.nxp.com, netdev@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: Re: [PATCH] net: dwmac-rk: MAC clock should be truned off
Date: Sat, 24 May 2025 16:48:15 +0200 [thread overview]
Message-ID: <112fa3c4-908d-4e31-9288-b3a2949555b0@lunn.ch> (raw)
In-Reply-To: <2525c791.3415.197029d3705.Coremail.sensor1010@163.com>
On Sat, May 24, 2025 at 10:05:47PM +0800, lizhe wrote:
> Hi, Anerdw
> The following is the logic for calling this function:
>
>
> rk_gmac_powerup() {
>
> ret = phy_power_on(bsp_priv, true); // here.
>
> if (ret) {
>
> gmac_clk_enable(bsp_priv, false);
>
> return ret;
>
> }
>
> }
Ah, there is something funny with your patch. Look at the diff:
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
index 700858ff6f7c..036e45be5828 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
@@ -1648,7 +1648,7 @@ static int gmac_clk_enable(struct rk_priv_data *bsp_priv, bool enable)
This line tells you where in the file you are patching, and the
function to be patched. This is what i looked at,
gmac_clk_enable(). And gmac_clk_enable() has a similar structure, ret
declared at the beginning, return 0 at the end. But the only way to
that return 0 is without error.
But patch is actually for:
static int phy_power_on(struct rk_priv_data *bsp_priv, bool enable)
{
struct regulator *ldo = bsp_priv->regulator;
- int ret;
+ int ret = 0;
struct device *dev = &bsp_priv->pdev->dev;
if (enable) {
@@ -1661,7 +1661,7 @@ static int phy_power_on(struct rk_priv_data *bsp_priv, bool enable)
dev_err(dev, "fail to disable phy-supply\n");
}
- return 0;
+ return ret;
}
And agree, the error codes are ignored in phy_power_on().
But i have a few questions:
How did you generate this diff? This is the first time i've made this
mistake, as far as i know. I trust the context information when
reviewing patches. Yet here it is wrong. Why? Is this actually normal?
I know diff gets it wrong for python, i don't trust it at all with
that language, but i've not noticed such problems with C.
Did you look at the history of phy_power_on()? It looks pretty
deliberate ignoring errors. Maybe there is a reason why this happens?
git blame and git log might explain why it is like this.
Andrew
next prev parent reply other threads:[~2025-05-24 14:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-23 15:15 [PATCH] net: dwmac-rk: MAC clock should be truned off 李哲
2025-05-23 16:20 ` Andrew Lunn
[not found] ` <2525c791.3415.197029d3705.Coremail.sensor1010@163.com>
2025-05-24 14:48 ` Andrew Lunn [this message]
2025-05-24 19:34 ` Russell King (Oracle)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=112fa3c4-908d-4e31-9288-b3a2949555b0@lunn.ch \
--to=andrew@lunn.ch \
--cc=alexandre.torgue@foss.st.com \
--cc=an.petrous@oss.nxp.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=david.wu@rock-chips.com \
--cc=edumazet@google.com \
--cc=jonas@kwiboo.se \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rmk+kernel@armlinux.org.uk \
--cc=sensor1010@163.com \
--cc=u.kleine-koenig@baylibre.com \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox