From: sashiko-bot@kernel.org
To: "Selvamani Rajagopal" <Selvamani.Rajagopal@onsemi.com>
Cc: conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH net-next v7 13/15] net: phy: ncn26000: Support for loopback
Date: Thu, 09 Jul 2026 17:12:49 +0000 [thread overview]
Message-ID: <20260709171250.4301C1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260708-s2500-mac-phy-support-v7-13-478c877aa1a9@onsemi.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] `ncn26000_config_aneg` uses `phy_write` to set `MII_BMCR`, inadvertently clearing `BMCR_LOOPBACK` and breaking the newly added loopback functionality.
--
--- Patch [13]: [PATCH net-next v7 13/15] net: phy: ncn26000: Support for loopback ---
commit 13f8b3ef4991385d79e8674e52b9e5000a330738
Author: Selvamani Rajagopal <Selvamani.Rajagopal@onsemi.com>
net: phy: ncn26000: Support for loopback
Adding loopback support for S2500 internal PHY to help running
loopback test through ethtool. It introduces a new API implementation
that manipulates only the loopback bit in the PHY.
> diff --git a/drivers/net/phy/ncn26000.c b/drivers/net/phy/ncn26000.c
> index c3a34b2c524d5..afafa81dc22b8 100644
> --- a/drivers/net/phy/ncn26000.c
> +++ b/drivers/net/phy/ncn26000.c
> @@ -178,6 +178,7 @@ static struct phy_driver ncn26000_driver[] = {
> .config_aneg = ncn26000_config_aneg,
> .read_status = ncn26000_read_status,
> .handle_interrupt = ncn26000_handle_interrupt,
> + .set_loopback = genphy_loopback_fixed_speed,
[Severity: Medium]
Will this newly added loopback functionality get silently disabled by
ncn26000_config_aneg() when the link is re-initialized?
If loopback is enabled via ethtool and an operation triggers the PHY state
machine to re-initialize the link (such as an interface down and up):
phy_start() -> _phy_start_aneg() -> ncn26000_config_aneg()
This call chain leads to MII_BMCR being overwritten:
drivers/net/phy/ncn26000.c:ncn26000_config_aneg() {
...
// bring up the link
return phy_write(phydev, MII_BMCR, NCN26000_BCMR_LINK_CTRL_BIT);
}
Using phy_write() here clears the BMCR_LOOPBACK bit that was configured by
genphy_loopback_fixed_speed(), leading to a state mismatch where
phydev->loopback_enabled is true but the PHY loopback bit is actually
cleared.
Should ncn26000_config_aneg() be updated to use phy_modify() to preserve
the loopback state?
> .set_plca_cfg = ncn26000_c45_plca_set_cfg,
> .get_plca_cfg = genphy_c45_plca_get_cfg,
> .get_plca_status = genphy_c45_plca_get_status,
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260708-s2500-mac-phy-support-v7-0-478c877aa1a9@onsemi.com?part=13
next prev parent reply other threads:[~2026-07-09 17:12 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-08 17:12 [PATCH net-next v7 00/15] Support for onsemi's S2500 10Base-T1S MAC-PHY Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-08 17:12 ` [PATCH net-next v7 01/15] dt-bindings: net: add onsemi's S2500 Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-09 17:12 ` sashiko-bot
2026-07-08 17:12 ` [PATCH net-next v7 02/15] Documentation: networking: Add timestamp related APIs to OA TC6 framework Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-09 17:12 ` sashiko-bot
2026-07-08 17:12 ` [PATCH net-next v7 03/15] net: phy: Helper to read and write through C45 without lock Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-08 17:12 ` [PATCH net-next v7 04/15] net: phy: Helper to modify PHY loopback mode only Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-08 17:12 ` [PATCH net-next v7 05/15] net: ethernet: oa_tc6: Move oa_tc6.c to its own directory Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-09 17:12 ` sashiko-bot
2026-07-08 17:12 ` [PATCH net-next v7 06/15] net: phy: microchip_t1s: Use generic APIs for C45 read and write Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-08 17:12 ` [PATCH net-next v7 07/15] net: ethernet: oa_tc6: Move constant definitions to header file Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-08 17:12 ` [PATCH net-next v7 08/15] net: ethernet: oa_tc6: Support for hardware timestamp Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-09 10:44 ` Vadim Fedorenko
2026-07-09 15:02 ` Selvamani Rajagopal
2026-07-09 17:12 ` sashiko-bot
2026-07-08 17:12 ` [PATCH net-next v7 09/15] net: ethernet: oa_tc6: Support for vendor specific MMS Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-08 17:12 ` [PATCH net-next v7 10/15] net: ethernet: oa_tc6: read, write interface with MMS option Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-08 17:12 ` [PATCH net-next v7 11/15] net: phy: ncn26000: Support for onsemi's S2500 internal phy Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-08 17:12 ` [PATCH net-next v7 12/15] net: phy: ncn26000: Enable enhanced noise immunity Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-08 17:12 ` [PATCH net-next v7 13/15] net: phy: ncn26000: Support for loopback Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-09 17:12 ` sashiko-bot [this message]
2026-07-08 17:12 ` [PATCH net-next v7 14/15] onsemi: s2500: Add driver support for TS2500 MAC-PHY Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-09 17:12 ` sashiko-bot
2026-07-08 17:12 ` [PATCH net-next v7 15/15] onsemi: s2500: Added selftest support to onsemi's S2500 driver Selvamani Rajagopal via B4 Relay
2026-07-08 17:12 ` Selvamani Rajagopal
2026-07-09 17:12 ` sashiko-bot
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=20260709171250.4301C1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Selvamani.Rajagopal@onsemi.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.