From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Jiawen Wu <jiawenwu@trustnetic.com>
Cc: 'Jakub Kicinski' <kuba@kernel.org>,
netdev@vger.kernel.org, jarkko.nikula@linux.intel.com,
andriy.shevchenko@linux.intel.com,
mika.westerberg@linux.intel.com, jsd@semihalf.com,
Jose.Abreu@synopsys.com, andrew@lunn.ch, hkallweit1@gmail.com,
linux-i2c@vger.kernel.org, linux-gpio@vger.kernel.org,
mengyuanlou@net-swift.com
Subject: Re: [PATCH net-next v9 8/9] net: txgbe: Implement phylink pcs
Date: Fri, 26 May 2023 09:43:16 +0100 [thread overview]
Message-ID: <ZHBxJP4DXevPNpab@shell.armlinux.org.uk> (raw)
In-Reply-To: <022201d98f9a$4b4ccc00$e1e66400$@trustnetic.com>
On Fri, May 26, 2023 at 02:21:23PM +0800, Jiawen Wu wrote:
> On Friday, May 26, 2023 12:14 PM, Jakub Kicinski wrote:
> > On Wed, 24 May 2023 17:17:21 +0800 Jiawen Wu wrote:
> > > + ret = devm_mdiobus_register(&pdev->dev, mii_bus);
> > > + if (ret)
> > > + return ret;
> > > +
> > > + mdiodev = mdio_device_create(mii_bus, 0);
> > > + if (IS_ERR(mdiodev))
> > > + return PTR_ERR(mdiodev);
> > > +
> > > + xpcs = xpcs_create(mdiodev, PHY_INTERFACE_MODE_10GBASER);
> > > + if (IS_ERR(xpcs)) {
> > > + mdio_device_free(mdiodev);
> > > + return PTR_ERR(xpcs);
> > > + }
> >
> > How does the mdiodev get destroyed in case of success?
> > Seems like either freeing it in case of xpcs error is unnecessary
> > or it needs to also be freed when xpcs is destroyed?
>
> When xpcs is destroyed, that means mdiodev is no longer needed.
> I think there is no need to free mdiodev in case of xpcs error,
> since devm_* function leads to free it.
If you are relying on the devm-ness of devm_mdiobus_register() then
it won't. Although mdiobus_unregister() walks bus->mdio_map[], I
think you are assuming that the mdio device you've created in
mdio_device_create() will be in that array. MDIO devices only get
added to that array when mdiobus_register_device() has been called,
which must only be called from mdio_device_register().
Please arrange to call mdio_device_free() prior to destroying the
XPCS in every case.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2023-05-26 8:43 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-24 9:17 [PATCH net-next v9 0/9] TXGBE PHYLINK support Jiawen Wu
2023-05-24 9:17 ` [PATCH net-next v9 1/9] net: txgbe: Add software nodes to support phylink Jiawen Wu
2023-05-27 8:44 ` Andy Shevchenko
2023-05-30 6:11 ` Jiawen Wu
2023-05-30 10:45 ` andy.shevchenko
2023-05-24 9:17 ` [PATCH net-next v9 2/9] i2c: designware: Add driver support for Wangxun 10Gb NIC Jiawen Wu
2023-05-27 8:36 ` Andy Shevchenko
2023-05-24 9:17 ` [PATCH net-next v9 3/9] net: txgbe: Register fixed rate clock Jiawen Wu
2023-05-24 12:17 ` Andrew Lunn
2023-05-24 9:17 ` [PATCH net-next v9 4/9] net: txgbe: Register I2C platform device Jiawen Wu
2023-05-26 9:35 ` kernel test robot
2023-05-27 8:38 ` Andy Shevchenko
2023-05-24 9:17 ` [PATCH net-next v9 5/9] net: txgbe: Add SFP module identify Jiawen Wu
2023-05-26 11:30 ` kernel test robot
2023-05-26 11:36 ` Russell King (Oracle)
2023-05-29 2:06 ` Jiawen Wu
2023-05-30 8:40 ` Jiawen Wu
2023-05-31 9:19 ` Jiawen Wu
2023-05-31 9:47 ` Russell King (Oracle)
2023-05-31 10:11 ` Jiawen Wu
2023-05-24 9:17 ` [PATCH net-next v9 6/9] net: txgbe: Support GPIO to SFP socket Jiawen Wu
2023-05-24 12:51 ` Andrew Lunn
2023-05-24 13:07 ` Russell King (Oracle)
2023-05-24 9:17 ` [PATCH net-next v9 7/9] net: pcs: Add 10GBASE-R mode for Synopsys Designware XPCS Jiawen Wu
2023-05-24 9:17 ` [PATCH net-next v9 8/9] net: txgbe: Implement phylink pcs Jiawen Wu
2023-05-24 12:53 ` Andrew Lunn
2023-05-26 4:14 ` Jakub Kicinski
2023-05-26 6:21 ` Jiawen Wu
2023-05-26 8:43 ` Russell King (Oracle) [this message]
2023-05-26 9:01 ` Jiawen Wu
2023-05-26 9:07 ` Russell King (Oracle)
2023-05-26 9:22 ` Jiawen Wu
2023-05-26 9:37 ` Russell King (Oracle)
2023-05-26 10:42 ` Russell King (Oracle)
2023-05-29 1:57 ` Jiawen Wu
2023-05-24 9:17 ` [PATCH net-next v9 9/9] net: txgbe: Support phylink MAC layer Jiawen Wu
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=ZHBxJP4DXevPNpab@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=Jose.Abreu@synopsys.com \
--cc=andrew@lunn.ch \
--cc=andriy.shevchenko@linux.intel.com \
--cc=hkallweit1@gmail.com \
--cc=jarkko.nikula@linux.intel.com \
--cc=jiawenwu@trustnetic.com \
--cc=jsd@semihalf.com \
--cc=kuba@kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=mengyuanlou@net-swift.com \
--cc=mika.westerberg@linux.intel.com \
--cc=netdev@vger.kernel.org \
/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.