[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 5 May 2020 17:13:28 +0300
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Calvin Johnson <calvin.johnson@....nxp.com>
Cc: "Rafael J . Wysocki" <rafael@...nel.org>,
Russell King - ARM Linux admin <linux@...linux.org.uk>,
linux.cj@...il.com, Jeremy Linton <jeremy.linton@....com>,
Andrew Lunn <andrew@...n.ch>,
Florian Fainelli <f.fainelli@...il.com>,
Cristi Sovaiala <cristian.sovaiala@....com>,
Florin Laurentiu Chiculita <florinlaurentiu.chiculita@....com>,
Ioana Ciornei <ioana.ciornei@....com>,
Madalin Bucur <madalin.bucur@....nxp.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Varun Sethi <V.Sethi@....com>,
"Rajesh V . Bikkina" <rajesh.bikkina@....com>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Diana Madalina Craciun <diana.craciun@....com>,
netdev <netdev@...r.kernel.org>, Marcin Wojtas <mw@...ihalf.com>,
Laurentiu Tudor <laurentiu.tudor@....com>,
Makarand Pawagi <makarand.pawagi@....com>,
linux-arm Mailing List <linux-arm-kernel@...ts.infradead.org>,
Pankaj Bansal <pankaj.bansal@....com>,
"David S. Miller" <davem@...emloft.net>,
Heiner Kallweit <hkallweit1@...il.com>
Subject: Re: [net-next PATCH v3 3/5] phylink: Introduce phylink_fwnode_phy_connect()
On Tue, May 5, 2020 at 4:29 PM Calvin Johnson
<calvin.johnson@....nxp.com> wrote:
>
> Define phylink_fwnode_phy_connect() to connect phy specified by
> a fwnode to a phylink instance.
...
> + int ret = 0;
Redundant assignment.
> + if ((IS_ERR(phy_fwnode)) && pl->cfg_link_an_mode == MLO_AN_PHY)
No Lisp, please.
> + return -ENODEV;
...
> + phy_dev = fwnode_phy_find_device(phy_fwnode);
> + fwnode_handle_put(phy_fwnode);
Hmm... Isn't it racy? I mean if you put fwnode here the phy_dev may
already be gone before you call phy_attach_direct, right?
> + if (!phy_dev)
> + return -ENODEV;
> +
> + ret = phy_attach_direct(pl->netdev, phy_dev, flags,
> + pl->link_interface);
> + if (ret)
> + return ret;
> +
> + ret = phylink_bringup_phy(pl, phy_dev, pl->link_config.interface);
> + if (ret)
> + phy_detach(phy_dev);
> +
> + return ret;
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists