Message ID | 20230707010333.12954-1-W_Armin@gmx.de (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | [1/2] platform/x86: dell-ddv: Improve error handling | expand |
Hi, On 7/7/23 03:03, Armin Wolf wrote: > If for some reason a external function returns -ENODEV, > no error message is being displayed because the driver > assumes that -ENODEV can only be returned internally if > no sensors, etc where found. > Fix this by explicitly returning 0 in such a case since > missing hardware is no error. Also remove the now obsolete > check for -ENODEV. > > Signed-off-by: Armin Wolf <W_Armin@gmx.de> Thank you for your series, I've applied this series to my fixes branch: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes I will include this series in my next fixes pull-req to Linus for the current kernel development cycle. Regards, Hans > --- > drivers/platform/x86/dell/dell-wmi-ddv.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/platform/x86/dell/dell-wmi-ddv.c b/drivers/platform/x86/dell/dell-wmi-ddv.c > index 2750dee99c3e..db1e9240dd02 100644 > --- a/drivers/platform/x86/dell/dell-wmi-ddv.c > +++ b/drivers/platform/x86/dell/dell-wmi-ddv.c > @@ -616,7 +616,8 @@ static int dell_wmi_ddv_hwmon_add(struct dell_wmi_ddv_data *data) > } > > if (index < 2) { > - ret = -ENODEV; > + /* Finding no available sensors is not an error */ > + ret = 0; > > goto err_release; > } > @@ -841,13 +842,13 @@ static int dell_wmi_ddv_probe(struct wmi_device *wdev, const void *context) > > if (IS_REACHABLE(CONFIG_ACPI_BATTERY)) { > ret = dell_wmi_ddv_battery_add(data); > - if (ret < 0 && ret != -ENODEV) > + if (ret < 0) > dev_warn(&wdev->dev, "Unable to register ACPI battery hook: %d\n", ret); > } > > if (IS_REACHABLE(CONFIG_HWMON)) { > ret = dell_wmi_ddv_hwmon_add(data); > - if (ret < 0 && ret != -ENODEV) > + if (ret < 0) > dev_warn(&wdev->dev, "Unable to register hwmon interface: %d\n", ret); > } > > -- > 2.30.2 >
diff --git a/drivers/platform/x86/dell/dell-wmi-ddv.c b/drivers/platform/x86/dell/dell-wmi-ddv.c index 2750dee99c3e..db1e9240dd02 100644 --- a/drivers/platform/x86/dell/dell-wmi-ddv.c +++ b/drivers/platform/x86/dell/dell-wmi-ddv.c @@ -616,7 +616,8 @@ static int dell_wmi_ddv_hwmon_add(struct dell_wmi_ddv_data *data) } if (index < 2) { - ret = -ENODEV; + /* Finding no available sensors is not an error */ + ret = 0; goto err_release; } @@ -841,13 +842,13 @@ static int dell_wmi_ddv_probe(struct wmi_device *wdev, const void *context) if (IS_REACHABLE(CONFIG_ACPI_BATTERY)) { ret = dell_wmi_ddv_battery_add(data); - if (ret < 0 && ret != -ENODEV) + if (ret < 0) dev_warn(&wdev->dev, "Unable to register ACPI battery hook: %d\n", ret); } if (IS_REACHABLE(CONFIG_HWMON)) { ret = dell_wmi_ddv_hwmon_add(data); - if (ret < 0 && ret != -ENODEV) + if (ret < 0) dev_warn(&wdev->dev, "Unable to register hwmon interface: %d\n", ret); }
If for some reason a external function returns -ENODEV, no error message is being displayed because the driver assumes that -ENODEV can only be returned internally if no sensors, etc where found. Fix this by explicitly returning 0 in such a case since missing hardware is no error. Also remove the now obsolete check for -ENODEV. Signed-off-by: Armin Wolf <W_Armin@gmx.de> --- drivers/platform/x86/dell/dell-wmi-ddv.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -- 2.30.2