From: Andy Shevchenko Date: Fri, 16 Aug 2019 09:46:25 +0000 (+0300) Subject: platform/x86: asus-wmi: Refactor charge_threshold_store() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=84d8e80b0a3612aad746837e95d8efe324fdc5c6;p=linux.git 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 --- diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index 22ae350e0a968..1a76d878852f4 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;