aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Chary2011-07-01 11:34:38 +0200
committerMatthew Garrett2011-08-05 14:46:02 -0400
commit3df5fdadf6400373a696bb14e27d4771e5f6afb3 (patch)
treecc4e47a641735d708ed5abd67a7ee75b427d1448
parente02431d6f5e8f1023ce0cfbaf70ddf4afae924d8 (diff)
asus-wmi: return proper value in store_cpufv()
Cc: stable@kernel.org Signed-off-by: Corentin Chary <corentin.chary@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
-rw-r--r--drivers/platform/x86/asus-wmi.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index e50872632c5a..3b9fb91e25ff 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -1307,14 +1307,18 @@ ASUS_WMI_CREATE_DEVICE_ATTR(cardr, 0644, ASUS_WMI_DEVID_CARDREADER);
static ssize_t store_cpufv(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
- int value;
+ int value, rv;
if (!count || sscanf(buf, "%i", &value) != 1)
return -EINVAL;
if (value < 0 || value > 2)
return -EINVAL;
- return asus_wmi_evaluate_method(ASUS_WMI_METHODID_CFVS, value, 0, NULL);
+ rv = asus_wmi_evaluate_method(ASUS_WMI_METHODID_CFVS, value, 0, NULL);
+ if (rv < 0)
+ return rv;
+
+ return count;
}
static DEVICE_ATTR(cpufv, S_IRUGO | S_IWUSR, NULL, store_cpufv);