asus-wmi: fix error handling in store_sys_wmi()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 10 Nov 2015 22:18:16 +0000 (01:18 +0300)
committerDarren Hart <dvhart@linux.intel.com>
Wed, 11 Nov 2015 06:22:15 +0000 (22:22 -0800)
The asus_wmi_get_devstate_simple() returns 0-1 on success.  In theory
according to static checkers, it can return either -EIO or -ENODEV on
failure.  Currently the error handling code only handles -ENODEV and
-EIO is treated as success.  Let's make it handle the -EIO error as
well.

It's possible that it can't actually return -EIO and this patch is not
needed but in that case this patch is harmless and silences a static
checker warning so it's still worth it.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
drivers/platform/x86/asus-wmi.c

index 1f7d80ff8cb428b1a9e43867b43105b21b9871b6..179eeee227b44e3d06ddd51087d2be57398fdcd6 100644 (file)
@@ -1682,7 +1682,7 @@ static ssize_t store_sys_wmi(struct asus_wmi *asus, int devid,
        int rv, err, value;
 
        value = asus_wmi_get_devstate_simple(asus, devid);
-       if (value == -ENODEV)   /* Check device presence */
+       if (value < 0)
                return value;
 
        rv = parse_arg(buf, count, &value);