drivers/pmdomain/thead/th1520-pm-domains.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
The devm_auxiliary_device_create() returns NULL on error. It never
returns error pointers. Using PTR_ERR_OR_ZERO() here means the function
always returns success. Replace the PTR_ERR_OR_ZERO() call check with
a NULL check.
Fixes: 64581f41f4c4 ("pmdomain: thead: create auxiliary device for rebooting")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
drivers/pmdomain/thead/th1520-pm-domains.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/pmdomain/thead/th1520-pm-domains.c b/drivers/pmdomain/thead/th1520-pm-domains.c
index 5213994101a5..d7cb9633c7c8 100644
--- a/drivers/pmdomain/thead/th1520-pm-domains.c
+++ b/drivers/pmdomain/thead/th1520-pm-domains.c
@@ -179,8 +179,10 @@ static int th1520_pd_reboot_init(struct device *dev,
struct auxiliary_device *adev;
adev = devm_auxiliary_device_create(dev, "reboot", aon_chan);
+ if (!adev)
+ return -ENODEV;
- return PTR_ERR_OR_ZERO(adev);
+ return 0;
}
static int th1520_pd_probe(struct platform_device *pdev)
--
2.51.0
On Fri, 26 Sept 2025 at 06:03, Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
> The devm_auxiliary_device_create() returns NULL on error. It never
> returns error pointers. Using PTR_ERR_OR_ZERO() here means the function
> always returns success. Replace the PTR_ERR_OR_ZERO() call check with
> a NULL check.
>
> Fixes: 64581f41f4c4 ("pmdomain: thead: create auxiliary device for rebooting")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Applied for next, thanks!
Kind regards
Uffe
> ---
> drivers/pmdomain/thead/th1520-pm-domains.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pmdomain/thead/th1520-pm-domains.c b/drivers/pmdomain/thead/th1520-pm-domains.c
> index 5213994101a5..d7cb9633c7c8 100644
> --- a/drivers/pmdomain/thead/th1520-pm-domains.c
> +++ b/drivers/pmdomain/thead/th1520-pm-domains.c
> @@ -179,8 +179,10 @@ static int th1520_pd_reboot_init(struct device *dev,
> struct auxiliary_device *adev;
>
> adev = devm_auxiliary_device_create(dev, "reboot", aon_chan);
> + if (!adev)
> + return -ENODEV;
>
> - return PTR_ERR_OR_ZERO(adev);
> + return 0;
> }
>
> static int th1520_pd_probe(struct platform_device *pdev)
> --
> 2.51.0
>
在 2025-09-26星期五的 07:03 +0300,Dan Carpenter写道:
> The devm_auxiliary_device_create() returns NULL on error. It never
> returns error pointers. Using PTR_ERR_OR_ZERO() here means the
Checked the implementation of auxiliary devices, and this is true.
So
```
Acked-by: Icenowy Zheng <uwu@icenowy.me>
```
> function
> always returns success. Replace the PTR_ERR_OR_ZERO() call check
> with
> a NULL check.
>
> Fixes: 64581f41f4c4 ("pmdomain: thead: create auxiliary device for
> rebooting")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
> drivers/pmdomain/thead/th1520-pm-domains.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pmdomain/thead/th1520-pm-domains.c
> b/drivers/pmdomain/thead/th1520-pm-domains.c
> index 5213994101a5..d7cb9633c7c8 100644
> --- a/drivers/pmdomain/thead/th1520-pm-domains.c
> +++ b/drivers/pmdomain/thead/th1520-pm-domains.c
> @@ -179,8 +179,10 @@ static int th1520_pd_reboot_init(struct device
> *dev,
> struct auxiliary_device *adev;
>
> adev = devm_auxiliary_device_create(dev, "reboot", aon_chan);
> + if (!adev)
> + return -ENODEV;
>
> - return PTR_ERR_OR_ZERO(adev);
> + return 0;
> }
>
> static int th1520_pd_probe(struct platform_device *pdev)
© 2016 - 2025 Red Hat, Inc.