Messages in this thread | | | Subject | Re: [PATCH 1/3] hwmon: (dell-smm) Fail probing when cooling device registration fails | From | Armin Wolf <> | Date | Sun, 21 Aug 2022 21:11:24 +0200 |
| |
Am 21.08.22 um 17:41 schrieb Pali Rohár:
> 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.
I though of the cooling device feature as being optional "as a whole". So when CONFIG_THERMAL is disabled during compile time, the driver does not create any cooling devices. If however CONFIG_THERMAL was enabled during compile time, the driver should fail probing if it cannot register all cooling devices.
Armin Wolf
>> Tested on a Dell Inspiron 3505. >> >> Fixes: e0d3f7cb2606 ("hwmon: (dell-smm) Add cooling device support") >> Signed-off-by: Armin Wolf <W_Armin@gmx.de> >> --- >> 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 >>
| |