On Mon, Jul 17, 2023 at 11:26 AM Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote: > > All error handling paths go to 'out', except this one. Be consistent and > also branch to 'out' here. > > Fixes: 74c782cff77b ("driver core: fw_devlink: Handle suppliers that don't use driver core") > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> > --- > /!\ Speculative /!\ > > This patch is based on analysis of the surrounding code and should be > reviewed with care ! > > If the patch is wrong, maybe a comment in the code could explain why. > > /!\ Speculative /!\ Looks okay to me, but I'd rather not much around the code for a subjective preference. The existing code also avoids the pointless put_device() and personally is easier to read (ok, nothing more of relevance is done after this return) than trying to follow the execution to the out and then realizing the put_device() is a NOP, etc. It also means future changes to "out" will need to accommodate for this path that doesn't really need the "out" path. -Saravana > --- > drivers/base/core.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/base/core.c b/drivers/base/core.c > index 3dff5037943e..854c1fab742c 100644 > --- a/drivers/base/core.c > +++ b/drivers/base/core.c > @@ -2107,7 +2107,8 @@ static int fw_devlink_create_devlink(struct device *con, > fwnode_ancestor_init_without_drv(sup_handle)) { > dev_dbg(con, "Not linking %pfwf - might never become dev\n", > sup_handle); > - return -EINVAL; > + ret = -EINVAL; > + goto out; > } > > ret = -EAGAIN; > -- > 2.34.1 >