On Mon, Mar 25, 2024 at 9:39 AM Herve Codina <herve.codina@xxxxxxxxxxx> 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@xxxxxxxxxxxxxxx > Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx> > --- > 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 >