net: ethernet: mtk_eth_soc: fix supported_interface set after phylink_create
Subsystems (4)
PATCH 1/1 net: ethernet: mtk_eth_soc: fix supported_interface set after phylink_create
Everything configured in phylink_config it's assumed to be set before calling phylink_create() to permit correct parsing of all the different modes and capabilities.
Commit 51cf06ddafc9 ("net: ethernet: mtk_eth_soc: add support for MT7988 internal 2.5G PHY") while introducing support for 2.5G phy for MT7988, probably due to an auto-rebase, placed the configuration of the INTERNAL interface mode for the supported_interfaces for phylink_config right after phylink_create() introducing a possible problem with supported interfaces parsing.
While this doesn't currently create any problem/bug, move setting this bit before phylink_create() to prevent any possible regression in future code change in phylink core.
--- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
drivers/net/ethernet/mediatek/mtk_eth_soc.c +5 -5
@@ -4960,6 +4960,11 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)if (MTK_HAS_CAPS (eth->soc->caps,MTK_SOC_MT7628 )) mac_ops = &rt5350_phylink_ops; +if (MTK_HAS_CAPS (mac->hw->soc->caps,MTK_2P5GPHY ) && + id ==MTK_GMAC2_ID ) +__set_bit (PHY_INTERFACE_MODE_INTERNAL , + mac->phylink_config.supported_interfaces); + phylink =phylink_create (&mac->phylink_config,of_fwnode_handle (mac->of_node), phy_mode, mac_ops);
@@ -4970,11 +4975,6 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) mac->phylink = phylink; -if (MTK_HAS_CAPS (mac->hw->soc->caps,MTK_2P5GPHY ) && - id ==MTK_GMAC2_ID ) -__set_bit (PHY_INTERFACE_MODE_INTERNAL , - mac->phylink_config.supported_interfaces); -SET_NETDEV_DEV (eth->netdev[id], eth->dev); eth->netdev[id]->watchdog_timeo =5 *HZ ; eth->netdev[id]->netdev_ops = &mtk_netdev_ops;
Signature · 1 line
2.53.0
Quoted 11 lines · Christian Marangi
Everything configured in
phylink_configit's assumed to be set before callingphylink_create()to permit correct parsing of all the different modes and capabilities.Commit
51cf06ddafc9("net: ethernet:mtk_eth_soc: add support for MT7988 internal 2.5G PHY") while introducing support for 2.5G phy for MT7988, probably due to an auto-rebase, placed the configuration of the INTERNAL interface mode for thesupported_interfacesforphylink_configright afterphylink_create()introducing a possible problem with supported interfaces parsing.
Quoted 3 lines
While this doesn't currently create any problem/bug, move setting this bit before
phylink_create()to prevent any possible regression in future code change in phylink core.
Agreed
Quoted 3 lines
Fixes 51cf06ddafc9 ("net: ethernet: mtk_eth_soc: add support for MT7988 internal 2.5G PHY")Signed-off-by Christian Marangi <[email protected]>
Maxime
Quoted 11 lines · Christian Marangi
Everything configured in
phylink_configit's assumed to be set before callingphylink_create()to permit correct parsing of all the different modes and capabilities.Commit
51cf06ddafc9("net: ethernet:mtk_eth_soc: add support for MT7988 internal 2.5G PHY") while introducing support for 2.5G phy for MT7988, probably due to an auto-rebase, placed the configuration of the INTERNAL interface mode for thesupported_interfacesforphylink_configright afterphylink_create()introducing a possible problem with supported interfaces parsing.
Quoted 6 lines
While this doesn't currently create any problem/bug, move setting this bit before
phylink_create()to prevent any possible regression in future code change in phylink core.Fixes 51cf06ddafc9 ("net: ethernet: mtk_eth_soc: add support for MT7988 internal 2.5G PHY")Signed-off-by Christian Marangi <[email protected]>
As no user-visible bug surfaces because of that it is questionable though if the Fixes:-tag is justified.
This patch was applied to netdev/net.git (main) by Jakub Kicinski <[email protected]>:
Hello:
This patch was applied to netdev/net.git (main)
by Jakub Kicinski <[email protected]>:
Quoted 4 lines · On Mon, 15 Jun 2026 17:11:00 +0200 you wrote:
Everything configured in
phylink_configit's assumed to be set before callingphylink_create()to permit correct parsing of all the different modes and capabilities.
Quoted 8 lines
Commit
51cf06ddafc9("net: ethernet:mtk_eth_soc: add support for MT7988 internal 2.5G PHY") while introducing support for 2.5G phy for MT7988, probably due to an auto-rebase, placed the configuration of the INTERNAL interface mode for thesupported_interfacesforphylink_configright afterphylink_create()introducing a possible problem with supported interfaces parsing.[...]
Here is the summary with links:
- [net] net: ethernet: mtk_eth_soc: fix supported_interface set after phylink_create
https://git.kernel.org/netdev/net/c/e4b4d8410c7c
You are awesome, thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html