[PATCH next] pmdomain: thead: Fix error pointer vs NULL bug in th1520_pd_reboot_init()

Icenowy Zheng uwu at icenowy.me
Thu Sep 25 23:59:48 PDT 2025


在 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 at 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 at 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)




More information about the linux-riscv mailing list