drivers/base/auxiliary.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
The auxiliary_device_create() function returns NULL. It doesn't return
error pointers. Update the checking to match.
Fixes: eaa0d30216c1 ("driver core: auxiliary bus: add device creation helpers")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
drivers/base/auxiliary.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/base/auxiliary.c b/drivers/base/auxiliary.c
index 810b6105a75d..61b876d90b7f 100644
--- a/drivers/base/auxiliary.c
+++ b/drivers/base/auxiliary.c
@@ -491,8 +491,8 @@ struct auxiliary_device *__devm_auxiliary_device_create(struct device *dev,
int ret;
auxdev = auxiliary_device_create(dev, modname, devname, platform_data, id);
- if (IS_ERR(auxdev))
- return auxdev;
+ if (!auxdev)
+ return ERR_PTR(-ENOMEM);
ret = devm_add_action_or_reset(dev, auxiliary_device_destroy,
auxdev);
--
2.47.2
On Wed 23 Apr 2025 at 11:17, Dan Carpenter <dan.carpenter@linaro.org> wrote:
> The auxiliary_device_create() function returns NULL. It doesn't return
> error pointers. Update the checking to match.
>
> Fixes: eaa0d30216c1 ("driver core: auxiliary bus: add device creation helpers")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Thanks for catching this mistake Dan.
The thing was initially setup to return error code. Greg asked to
simply return NULL on error and I forgot to re-align the devm variant.
So I think the fix should be to check for NULL as you did but return
NULL too so it is aligned with non-devm variant.
If you wish, I can handle a v2.
> ---
> drivers/base/auxiliary.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/base/auxiliary.c b/drivers/base/auxiliary.c
> index 810b6105a75d..61b876d90b7f 100644
> --- a/drivers/base/auxiliary.c
> +++ b/drivers/base/auxiliary.c
> @@ -491,8 +491,8 @@ struct auxiliary_device *__devm_auxiliary_device_create(struct device *dev,
> int ret;
>
> auxdev = auxiliary_device_create(dev, modname, devname, platform_data, id);
> - if (IS_ERR(auxdev))
> - return auxdev;
> + if (!auxdev)
> + return ERR_PTR(-ENOMEM);
>
> ret = devm_add_action_or_reset(dev, auxiliary_device_destroy,
> auxdev);
--
Jerome
On Wed, Apr 23, 2025 at 11:31:56AM +0200, Jerome Brunet wrote:
> On Wed 23 Apr 2025 at 11:17, Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
> > The auxiliary_device_create() function returns NULL. It doesn't return
> > error pointers. Update the checking to match.
> >
> > Fixes: eaa0d30216c1 ("driver core: auxiliary bus: add device creation helpers")
> > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
>
> Thanks for catching this mistake Dan.
>
> The thing was initially setup to return error code. Greg asked to
> simply return NULL on error and I forgot to re-align the devm variant.
>
> So I think the fix should be to check for NULL as you did but return
> NULL too so it is aligned with non-devm variant.
>
> If you wish, I can handle a v2.
Of course, it's hard to resist an offer like that but I can send a v2.
regards,
dan carpenter
© 2016 - 2025 Red Hat, Inc.