* [PATCH net-next] net: stmmac: Call xpcs_config_eee_mult_fact() only when xpcs is present
@ 2025-03-21 10:35 Maxime Chevallier
2025-03-21 10:40 ` Russell King (Oracle)
2025-03-24 20:50 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 3+ messages in thread
From: Maxime Chevallier @ 2025-03-21 10:35 UTC (permalink / raw)
To: davem, Andrew Lunn, Jakub Kicinski, Eric Dumazet, Paolo Abeni,
Russell King, Heiner Kallweit
Cc: Maxime Chevallier, netdev, linux-kernel, thomas.petazzoni,
linux-stm32, linux-arm-kernel, Florian Fainelli, Simon Horman,
alexis.lothore, Alexandre Torgue, Maxime Coquelin
Some dwmac variants such as dwmac_socfpga don't use xpcs but lynx_pcs.
Don't call xpcs_config_eee_mult_fact() in this case, as this causes a
crash at init :
Unable to handle kernel NULL pointer dereference at virtual address 00000039 when write
[...]
Call trace:
xpcs_config_eee_mult_fact from stmmac_pcs_setup+0x40/0x10c
stmmac_pcs_setup from stmmac_dvr_probe+0xc0c/0x1244
stmmac_dvr_probe from socfpga_dwmac_probe+0x130/0x1bc
socfpga_dwmac_probe from platform_probe+0x5c/0xb0
Fixes: 060fb27060e8 ("net: stmmac: call xpcs_config_eee_mult_fact()")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
---
This targets net-next as the blamed commit is also still in net-next.
drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
index 7c0a4046bbe3..836f2848dfeb 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
@@ -524,7 +524,8 @@ int stmmac_pcs_setup(struct net_device *ndev)
if (ret)
return dev_err_probe(priv->device, ret, "No xPCS found\n");
- xpcs_config_eee_mult_fact(xpcs, priv->plat->mult_fact_100ns);
+ if (xpcs)
+ xpcs_config_eee_mult_fact(xpcs, priv->plat->mult_fact_100ns);
priv->hw->xpcs = xpcs;
--
2.48.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] net: stmmac: Call xpcs_config_eee_mult_fact() only when xpcs is present
2025-03-21 10:35 [PATCH net-next] net: stmmac: Call xpcs_config_eee_mult_fact() only when xpcs is present Maxime Chevallier
@ 2025-03-21 10:40 ` Russell King (Oracle)
2025-03-24 20:50 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: Russell King (Oracle) @ 2025-03-21 10:40 UTC (permalink / raw)
To: Maxime Chevallier
Cc: davem, Andrew Lunn, Jakub Kicinski, Eric Dumazet, Paolo Abeni,
Heiner Kallweit, netdev, linux-kernel, thomas.petazzoni,
linux-stm32, linux-arm-kernel, Florian Fainelli, Simon Horman,
alexis.lothore, Alexandre Torgue, Maxime Coquelin
On Fri, Mar 21, 2025 at 11:35:01AM +0100, Maxime Chevallier wrote:
> Some dwmac variants such as dwmac_socfpga don't use xpcs but lynx_pcs.
>
> Don't call xpcs_config_eee_mult_fact() in this case, as this causes a
> crash at init :
>
> Unable to handle kernel NULL pointer dereference at virtual address 00000039 when write
>
> [...]
>
> Call trace:
> xpcs_config_eee_mult_fact from stmmac_pcs_setup+0x40/0x10c
> stmmac_pcs_setup from stmmac_dvr_probe+0xc0c/0x1244
> stmmac_dvr_probe from socfpga_dwmac_probe+0x130/0x1bc
> socfpga_dwmac_probe from platform_probe+0x5c/0xb0
>
> Fixes: 060fb27060e8 ("net: stmmac: call xpcs_config_eee_mult_fact()")
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Yes, I had noticed that but haven't had time to patch it, so thanks for
submitting the patch. However, I think the code structure could be
better in this function. Let's get the bug fixed, so:
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thanks!
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] net: stmmac: Call xpcs_config_eee_mult_fact() only when xpcs is present
2025-03-21 10:35 [PATCH net-next] net: stmmac: Call xpcs_config_eee_mult_fact() only when xpcs is present Maxime Chevallier
2025-03-21 10:40 ` Russell King (Oracle)
@ 2025-03-24 20:50 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-03-24 20:50 UTC (permalink / raw)
To: Maxime Chevallier
Cc: davem, andrew, kuba, edumazet, pabeni, linux, hkallweit1, netdev,
linux-kernel, thomas.petazzoni, linux-stm32, linux-arm-kernel,
f.fainelli, horms, alexis.lothore, alexandre.torgue,
mcoquelin.stm32
Hello:
This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Fri, 21 Mar 2025 11:35:01 +0100 you wrote:
> Some dwmac variants such as dwmac_socfpga don't use xpcs but lynx_pcs.
>
> Don't call xpcs_config_eee_mult_fact() in this case, as this causes a
> crash at init :
>
> Unable to handle kernel NULL pointer dereference at virtual address 00000039 when write
>
> [...]
Here is the summary with links:
- [net-next] net: stmmac: Call xpcs_config_eee_mult_fact() only when xpcs is present
https://git.kernel.org/netdev/net-next/c/53cd6820f5a0
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-03-24 20:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-21 10:35 [PATCH net-next] net: stmmac: Call xpcs_config_eee_mult_fact() only when xpcs is present Maxime Chevallier
2025-03-21 10:40 ` Russell King (Oracle)
2025-03-24 20:50 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).