[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAGETcx9YpqNhnNgpVNCuxm_nbApVbdXgFRiLVNYP64DKcDEm8g@mail.gmail.com>
Date: Mon, 25 Mar 2024 14:49:38 -0700
From: Saravana Kannan <saravanak@...gle.com>
To: Herve Codina <herve.codina@...tlin.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, "Rafael J. Wysocki" <rafael@...nel.org>,
linux-kernel@...r.kernel.org, Allan Nielsen <allan.nielsen@...rochip.com>,
Horatiu Vultur <horatiu.vultur@...rochip.com>,
Steen Hegelund <steen.hegelund@...rochip.com>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>, stable@...r.kernel.org
Subject: Re: [PATCH v3 RESEND] driver core: Keep the supplier fwnode
consistent with the device
On Mon, Mar 25, 2024 at 9:39 AM Herve Codina <herve.codina@...tlin.com> wrote:
>
> The commit 3a2dbc510c43 ("driver core: fw_devlink: Don't purge child
> fwnode's consumer links") introduces the possibility to use the
> supplier's parent device instead of the supplier itself.
> In that case the supplier fwnode used is not updated and is no more
> consistent with the supplier device used.
>
> Use the fwnode consistent with the supplier device when checking flags.
Please drop this patch. It's unnecessary churn. fw_devlink took years
to get to where it is. There are lots of corner cases. So I'd rather
not touch something if it's not broken. If a particular case for you
is broken, start with describing the issue please and then we can
figure out if it needs a change and what's a good way to do it.
Nack.
-Saravana
>
> Fixes: 3a2dbc510c43 ("driver core: fw_devlink: Don't purge child fwnode's consumer links")
> Cc: stable@...r.kernel.org
> Signed-off-by: Herve Codina <herve.codina@...tlin.com>
> ---
> Changes v2 -> v3:
> Do not update the supplier handle in order to keep the original handle
> for debug traces.
>
> Changes v1 -> v2:
> Remove sup_handle check and related pr_debug() call as sup_handle cannot be
> invalid if sup_dev is valid.
>
> drivers/base/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index b93f3c5716ae..0d335b0dc396 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -2163,7 +2163,7 @@ static int fw_devlink_create_devlink(struct device *con,
> * supplier device indefinitely.
> */
> if (sup_dev->links.status == DL_DEV_NO_DRIVER &&
> - sup_handle->flags & FWNODE_FLAG_INITIALIZED) {
> + sup_dev->fwnode->flags & FWNODE_FLAG_INITIALIZED) {
> dev_dbg(con,
> "Not linking %pfwf - dev might never probe\n",
> sup_handle);
> --
> 2.44.0
>
Powered by blists - more mailing lists