From: Jakub Kicinski <kuba@kernel.org>
To: Kory Maincent <kory.maincent@bootlin.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
Oleksij Rempel <o.rempel@pengutronix.de>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>, Jonathan Corbet <corbet@lwn.net>,
Donald Hunter <donald.hunter@gmail.com>,
Rob Herring <robh@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Simon Horman <horms@kernel.org>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
netdev@vger.kernel.org, linux-doc@vger.kernel.org,
Kyle Swenson <kyle.swenson@est.tech>,
Dent Project <dentproject@linuxfoundation.org>,
kernel@pengutronix.de,
Maxime Chevallier <maxime.chevallier@bootlin.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v13 02/13] net: pse-pd: Add support for reporting events
Date: Sat, 14 Jun 2025 12:18:43 -0700 [thread overview]
Message-ID: <20250614121843.427cfc42@kernel.org> (raw)
In-Reply-To: <20250610-feature_poe_port_prio-v13-2-c5edc16b9ee2@bootlin.com>
On Tue, 10 Jun 2025 10:11:36 +0200 Kory Maincent wrote:
> +static struct net_device *
> +pse_control_find_net_by_id(struct pse_controller_dev *pcdev, int id,
> + netdevice_tracker *tracker)
> +{
> + struct pse_control *psec, *next;
> +
> + mutex_lock(&pse_list_mutex);
> + list_for_each_entry_safe(psec, next, &pcdev->pse_control_head, list) {
nit: _safe is not necessary here, the body of the if always exits after
dropping the lock
Do you plan to add more callers for this function?
Maybe it's better if it returns the psec pointer with the refcount
elevated. Because it would be pretty neat if we could move the
ethnl_pse_send_ntf(netdev, notifs, &extack); that pse_isr() does
right after calling this function under the rtnl_lock.
I don't think calling ethnl_pse_send_ntf() may crash the kernel as is,
but it feels like a little bit of a trap to have ethtool code called
outside of any networking lock.
> + if (psec->id == id) {
> + struct net_device *netdev = NULL;
> + struct phy_device *phydev;
> +
> + kref_get(&psec->refcnt);
> + /* Release the mutex before taking the rtnl lock
> + * to avoid deadlock in case of a pse_control_put
> + * call with the rtnl lock held.
> + */
> + mutex_unlock(&pse_list_mutex);
> + /* Acquire rtnl to protect the net device
> + * reference get.
> + */
> + rtnl_lock();
> + phydev = psec->attached_phydev;
> + if (phydev->attached_dev) {
> + netdev = phydev->attached_dev;
> + netdev_hold(netdev, tracker, GFP_KERNEL);
> + }
> + rtnl_unlock();
> + pse_control_put(psec);
> + return netdev;
> + }
> + }
> + mutex_unlock(&pse_list_mutex);
> + return NULL;
> +}
next prev parent reply other threads:[~2025-06-14 19:18 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-10 8:11 [PATCH net-next v13 00/13] Add support for PSE budget evaluation strategy Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 01/13] net: pse-pd: Introduce attached_phydev to pse control Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 02/13] net: pse-pd: Add support for reporting events Kory Maincent
2025-06-14 19:18 ` Jakub Kicinski [this message]
2025-06-16 11:57 ` Kory Maincent
2025-06-16 12:10 ` Kory Maincent
2025-06-16 16:30 ` Jakub Kicinski
2025-06-10 8:11 ` [PATCH net-next v13 03/13] net: pse-pd: tps23881: Add support for PSE events and interrupts Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 04/13] net: pse-pd: Add support for PSE power domains Kory Maincent
2025-06-14 19:13 ` Jakub Kicinski
2025-06-16 12:37 ` Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 05/13] net: ethtool: Add support for new power domains index description Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 06/13] net: pse-pd: Add helper to report hardware enable status of the PI Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 07/13] net: pse-pd: Add support for budget evaluation strategies Kory Maincent
2025-06-14 19:33 ` Jakub Kicinski
2025-06-16 13:14 ` Kory Maincent
2025-06-16 16:56 ` Jakub Kicinski
2025-06-17 9:17 ` Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 08/13] net: ethtool: Add PSE port priority support feature Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 09/13] net: pse-pd: pd692x0: Add support for PSE PI priority feature Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 10/13] net: pse-pd: pd692x0: Add support for controller and manager power supplies Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 11/13] dt-bindings: net: pse-pd: microchip,pd692x0: Add manager regulator supply Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 12/13] net: pse-pd: tps23881: Add support for static port priority feature Kory Maincent
2025-06-10 8:11 ` [PATCH net-next v13 13/13] dt-bindings: net: pse-pd: ti,tps23881: Add interrupt description Kory Maincent
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=20250614121843.427cfc42@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=dentproject@linuxfoundation.org \
--cc=devicetree@vger.kernel.org \
--cc=donald.hunter@gmail.com \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=kernel@pengutronix.de \
--cc=kory.maincent@bootlin.com \
--cc=krzk+dt@kernel.org \
--cc=kyle.swenson@est.tech \
--cc=lgirdwood@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=thomas.petazzoni@bootlin.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;
as well as URLs for NNTP newsgroup(s).