Re: [PATCH 1/3] hwmon: (dell-smm) Fail probing when cooling device registration fails

From: Pali Rohár
Date: Sun Aug 21 2022 - 11:41:53 EST


On Sunday 21 August 2022 17:17:11 Armin Wolf wrote:
> Previously, it was thought that failing to register a cooling device
> would not be critical, so the probing was not aborted in such a case.
> This however would lead to userspace being unable to rely on those
> cooling devices, since they might not represent all fans being present.
> Fix that by failing probing when cooling device registration fails.

This patch does not fix address this issue fully. CONFIG_THERMAL can be
disabled during compile time and then cooling device would not be
registered too.

> Tested on a Dell Inspiron 3505.
>
> Fixes: e0d3f7cb2606 ("hwmon: (dell-smm) Add cooling device support")
> Signed-off-by: Armin Wolf <W_Armin@xxxxxx>
> ---
> drivers/hwmon/dell-smm-hwmon.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
> index 7f8d95dd2717..1dab7591576a 100644
> --- a/drivers/hwmon/dell-smm-hwmon.c
> +++ b/drivers/hwmon/dell-smm-hwmon.c
> @@ -1013,12 +1013,10 @@ static int __init dell_smm_init_hwmon(struct device *dev)
>
> data->fan[i] = true;
>
> - /* the cooling device is not critical, ignore failures */
> if (IS_REACHABLE(CONFIG_THERMAL)) {
> err = dell_smm_init_cdev(dev, i);
> if (err < 0)
> - dev_warn(dev, "Failed to register cooling device for fan %u\n",
> - i + 1);
> + return err;
> }
>
> data->fan_nominal_speed[i] = devm_kmalloc_array(dev, data->i8k_fan_max + 1,
> --
> 2.30.2
>