From: Maxime Chevallier <maxime.chevallier@bootlin.com>
To: "Martin Pålsson" <martin@poleshift.se>,
"Thangaraj Samynathan" <Thangaraj.S@microchip.com>,
"Rengarajan Sundararajan" <Rengarajan.S@microchip.com>,
UNGLinuxDriver@microchip.com,
"Andrew Lunn" <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>
Cc: netdev@vger.kernel.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] net: usb: lan78xx: scan all MDIO addresses on LAN7801
Date: Mon, 16 Feb 2026 11:34:13 +0100 [thread overview]
Message-ID: <b598aad8-5151-47b2-949f-321b87baa638@bootlin.com> (raw)
In-Reply-To: <0110019c64da3c2a-d4a4adbe-c78b-4051-a95b-e7ed5db247a1-000000@eu-north-1.amazonses.com>
Hi Martin,
On 16/02/2026 06:09, Martin Pålsson wrote:
> The LAN7801 is designed exclusively for external PHYs (unlike the
> LAN7800/LAN7850 which have internal PHYs), but lan78xx_mdio_init()
> restricts PHY scanning to MDIO addresses 0-7 by setting phy_mask to
> ~(0xFF). This prevents discovery of external PHYs wired to addresses
> outside that range.
>
> One such case is the DP83TC814 100BASE-T1 PHY, which is typically
> configured at MDIO address 10 via PHYAD bootstrap pins and goes
> undetected with the current mask.
>
> Set phy_mask to 0 for the LAN7801 so that all 32 MDIO addresses are
> scanned during bus registration, allowing any external PHY to be
> discovered regardless of its address.
>
> Fixes: 02dc1f3d613d ("lan78xx: add LAN7801 MAC only support")
>
> Signed-off-by: Martin Pålsson <martin@poleshift.se>
> ---
> Changes in v2:
> - Added Fixes: tag
> - Link to v1: https://lore.kernel.org/r/20260214-lan78xx-phy-mask-fix-v1-1-3baa100861e4@poleshift.se
> ---
> drivers/net/usb/lan78xx.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
> index 00397a807393..9d8f1ff7028d 100644
> --- a/drivers/net/usb/lan78xx.c
> +++ b/drivers/net/usb/lan78xx.c
> @@ -2094,8 +2094,8 @@ static int lan78xx_mdio_init(struct lan78xx_net *dev)
> dev->mdiobus->phy_mask = ~(1 << 1);
> break;
> case ID_REV_CHIP_ID_7801_:
> - /* scan thru PHYAD[2..0] */
> - dev->mdiobus->phy_mask = ~(0xFF);
> + /* scan all 32 MDIO addresses for external PHYs */
> + dev->mdiobus->phy_mask = 0;
As this is the default behaviour for mdio bus controllers, and the
default value for the mask is 0, I think you can simply discard that
assignment.
I don't even think we need a comment, as the other cases for 7800/7850
already have a comment explaining why they are special cases.
Maxime
next prev parent reply other threads:[~2026-02-16 10:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-16 5:09 [PATCH v2] net: usb: lan78xx: scan all MDIO addresses on LAN7801 Martin Pålsson
2026-02-16 5:58 ` Greg KH
2026-02-16 10:34 ` Maxime Chevallier [this message]
2026-02-18 5:21 ` Martin Pålsson
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=b598aad8-5151-47b2-949f-321b87baa638@bootlin.com \
--to=maxime.chevallier@bootlin.com \
--cc=Rengarajan.S@microchip.com \
--cc=Thangaraj.S@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=martin@poleshift.se \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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