Re: [PATCH] PM: wakeup: Add a missing return case in init_wakeup

From: Rafael J. Wysocki
Date: Thu Mar 14 2024 - 10:01:57 EST


On Thu, Mar 14, 2024 at 8:55 AM Dhruva Gole <d-gole@xxxxxx> wrote:
>
> The device_wakeup_disable call can return an error if no dev exists
> however this was being ignored. Catch this return value and propagate it
> onward in device_init_wakeup.

Why does this matter to the callers of device_init_wakeup()?

>
> Signed-off-by: Dhruva Gole <d-gole@xxxxxx>
> ---
> include/linux/pm_wakeup.h | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/pm_wakeup.h b/include/linux/pm_wakeup.h
> index 6eb9adaef52b..64c7db35e693 100644
> --- a/include/linux/pm_wakeup.h
> +++ b/include/linux/pm_wakeup.h
> @@ -232,14 +232,15 @@ static inline void pm_wakeup_hard_event(struct device *dev)
> */
> static inline int device_init_wakeup(struct device *dev, bool enable)
> {
> + int ret;
> if (enable) {
> device_set_wakeup_capable(dev, true);
> - return device_wakeup_enable(dev);
> + ret = device_wakeup_enable(dev);
> } else {
> - device_wakeup_disable(dev);
> + ret = device_wakeup_disable(dev);
> device_set_wakeup_capable(dev, false);
> - return 0;
> }
> + return ret;
> }
>
> #endif /* _LINUX_PM_WAKEUP_H */
>
> base-commit: 9bb9b28d0568991b1d63e66fe75afa5f97ad1156
> --
> 2.34.1
>