From 84d8e80b0a3612aad746837e95d8efe324fdc5c6 Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Fri, 16 Aug 2019 12:46:25 +0300 Subject: [PATCH] platform/x86: asus-wmi: Refactor charge_threshold_store() There are few issues with the current code: - the error code from kstrtouint() is shadowed - the error code from asus_wmi_set_devstate() is ignored - the extra check against 0 for count (this is guaranteed by sysfs) Fix these issues by doing a slight refactoring of charge_threshold_store(). Signed-off-by: Andy Shevchenko --- drivers/platform/x86/asus-wmi.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index 22ae350e0a96..1a76d878852f 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c @@ -2086,13 +2086,15 @@ static ssize_t charge_threshold_store(struct device *dev, int value, ret, rv; ret = kstrtouint(buf, 10, &value); + if (ret) + return ret; - if (!count || ret != 0) - return -EINVAL; if (value < 0 || value > 100) return -EINVAL; - asus_wmi_set_devstate(ASUS_WMI_CHARGE_THRESHOLD, value, &rv); + ret = asus_wmi_set_devstate(ASUS_WMI_CHARGE_THRESHOLD, value, &rv); + if (!ret) + return ret; if (rv != 1) return -EIO; -- 2.45.2