All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Sit, Michael Wei Hong" <michael.wei.hong.sit@intel.com>
To: "Raczynski, Piotr" <piotr.raczynski@intel.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Jose Abreu <joabreu@synopsys.com>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	"Ong, Boon Leong" <boon.leong.ong@intel.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-stm32@st-md-mailman.stormreply.com" 
	<linux-stm32@st-md-mailman.stormreply.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Looi, Hong Aun" <hong.aun.looi@intel.com>,
	"Voon, Weifeng" <weifeng.voon@intel.com>,
	"Lai, Peter Jun Ann" <peter.jun.ann.lai@intel.com>
Subject: RE: [PATCH net 1/2] net: stmmac: fix PHY handle parsing
Date: Tue, 14 Mar 2023 08:47:24 +0000	[thread overview]
Message-ID: <PH0PR11MB758710CE5A7F7AD5F4E84DE79DBE9@PH0PR11MB7587.namprd11.prod.outlook.com> (raw)
In-Reply-To: <ZBAyvXhvXPsQ8WrT@nimitz>



> -----Original Message-----
> From: Raczynski, Piotr <piotr.raczynski@intel.com>
> Sent: Tuesday, March 14, 2023 4:39 PM
> To: Sit, Michael Wei Hong <michael.wei.hong.sit@intel.com>
> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>; Alexandre
> Torgue <alexandre.torgue@foss.st.com>; Jose Abreu
> <joabreu@synopsys.com>; David S . Miller <davem@davemloft.net>;
> Eric Dumazet <edumazet@google.com>; Jakub Kicinski
> <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Maxime
> Coquelin <mcoquelin.stm32@gmail.com>; Ong, Boon Leong
> <boon.leong.ong@intel.com>; netdev@vger.kernel.org; linux-
> stm32@st-md-mailman.stormreply.com; linux-arm-
> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Looi,
> Hong Aun <hong.aun.looi@intel.com>; Voon, Weifeng
> <weifeng.voon@intel.com>; Lai, Peter Jun Ann
> <peter.jun.ann.lai@intel.com>
> Subject: Re: [PATCH net 1/2] net: stmmac: fix PHY handle parsing
> 
> On Mon, Mar 13, 2023 at 04:01:34PM +0800, Michael Sit Wei Hong
> wrote:
> > phylink_fwnode_phy_connect returns 0 when set to
> MLO_AN_INBAND.
> > This causes the PHY handle parsing to skip and the PHY will not be
> > attached to the MAC.
> >
> > Add additional check for PHY handle parsing when set to
> MLO_AN_INBAND.
> >
> > Fixes: ab21cf920928 ("net: stmmac: make mdio register skips PHY
> > scanning for fixed-link")
> > Signed-off-by: Michael Sit Wei Hong
> <michael.wei.hong.sit@intel.com>
> > Signed-off-by: Lai Peter Jun Ann <peter.jun.ann.lai@intel.com>
> > ---
> >  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 8
> ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > index 8f543c3ab5c5..398adcd68ee8 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > @@ -1134,6 +1134,7 @@ static void
> stmmac_check_pcs_mode(struct
> > stmmac_priv *priv)  static int stmmac_init_phy(struct net_device
> *dev)
> > {
> >  	struct stmmac_priv *priv = netdev_priv(dev);
> > +	struct fwnode_handle *fixed_node;
> >  	struct fwnode_handle *fwnode;
> >  	int ret;
> >
> > @@ -1141,13 +1142,16 @@ static int stmmac_init_phy(struct
> net_device *dev)
> >  	if (!fwnode)
> >  		fwnode = dev_fwnode(priv->device);
> >
> > -	if (fwnode)
> > +	if (fwnode) {
> > +		fixed_node =
> fwnode_get_named_child_node(fwnode, "fixed-link");
> > +		fwnode_handle_put(fixed_node);
> >  		ret = phylink_fwnode_phy_connect(priv->phylink,
> fwnode, 0);
> > +	}
> >
> 
> On the occasion, why not rewrite above to:
> if (!fwnode)
> ...
> else
> ...
> 
> or:
> if(fwnode)
> ...
> else
> ?
> 
The (!fwnode) serves as a NULL check, and if the fwnode is NULL, we try to populate it using dev_fwnode.
If fwnode is then populated, then the if(fwnode) code will run.

If fwnode is still NULL after dev_fwnode, fwnode_get_named_child_node will generate a kernel panic if no
NULL check is present.
> >  	/* Some DT bindings do not set-up the PHY handle. Let's try
> to
> >  	 * manually parse it
> >  	 */
> > -	if (!fwnode || ret) {
> > +	if (!fwnode || ret || !fixed_node) {
> >  		int addr = priv->plat->phy_addr;
> >  		struct phy_device *phydev;
> >
> > --
> > 2.34.1
> >

  reply	other threads:[~2023-03-14  8:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-13  8:01 [PATCH net 0/2] Fix PHY handle no longer parsing Michael Sit Wei Hong
2023-03-13  8:01 ` Michael Sit Wei Hong
2023-03-13  8:01 ` [PATCH net 1/2] net: stmmac: fix PHY handle parsing Michael Sit Wei Hong
2023-03-13  8:01   ` Michael Sit Wei Hong
2023-03-14  8:39   ` Piotr Raczynski
2023-03-14  8:47     ` Sit, Michael Wei Hong [this message]
2023-03-13  8:01 ` [PATCH net 2/2] net: stmmac: move fixed-link support fixup code Michael Sit Wei Hong
2023-03-13  8:01   ` Michael Sit Wei Hong
2023-03-13 11:47   ` kernel test robot
2023-03-13 11:47     ` kernel test robot
2023-03-14  9:01   ` Piotr Raczynski
2023-03-15 10:18     ` Sit, Michael Wei Hong
2023-03-15 10:18       ` Sit, Michael Wei Hong

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=PH0PR11MB758710CE5A7F7AD5F4E84DE79DBE9@PH0PR11MB7587.namprd11.prod.outlook.com \
    --to=michael.wei.hong.sit@intel.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=boon.leong.ong@intel.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hong.aun.looi@intel.com \
    --cc=joabreu@synopsys.com \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=peppe.cavallaro@st.com \
    --cc=peter.jun.ann.lai@intel.com \
    --cc=piotr.raczynski@intel.com \
    --cc=weifeng.voon@intel.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 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.