[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2fc4d494-4ec0-48a8-988c-68f31c4f691e@lunn.ch>
Date: Mon, 6 May 2024 22:00:46 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Niklas Söderlund <niklas.soderlund+renesas@...natech.se>
Cc: Geert Uytterhoeven <geert@...ux-m68k.org>,
Yoshihiro Shimoda <yoshihiro.shimoda.uh@...esas.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
netdev@...r.kernel.org, linux-renesas-soc@...r.kernel.org
Subject: Re: [net-next] net: ethernet: rtsn: Add support for Renesas
Ethernet-TSN
> Note that this driver differs a bit from RAVB for which [2] targets. The
> RAVB driver creates the MDIO bus at probe time, this drivers creates and
> destroys the MDIO bus in sync with the interface state using ndo_open
> and ndo_stop.
That is not a good idea. It is better to create the MDIO bus at probe
time. There are a few reasons for this.
1) It takes while for the machinary to load the PHY driver, when it is
a module. If it does not get time to do that, you end up with the
generic PHY driver, even though there is a specific PHY driver, which
becomes usable a little later in time. But your network is dead
because the generic PHY drive is not sufficient.
2) It is possible that creating the MDIO bus fails with
EPROBE_DEFER. If this happens at ndo_open(), there is nothing you can
do about it, other than return the error to user space. If it happens
during probe, the driver core will handle it, and try to probe the
driver again sometime later.
Andrew
Powered by blists - more mailing lists