In current implementation, store_ledd() does not return error if write_acpi_int
fail.
This patch fixes it by return -ENODEV if write_acpi_int fail.

Signed-off-by: Axel Lin <[email protected]>
---
 drivers/platform/x86/asus-laptop.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/platform/x86/asus-laptop.c 
b/drivers/platform/x86/asus-laptop.c
index 93487eb..975751d 100644
--- a/drivers/platform/x86/asus-laptop.c
+++ b/drivers/platform/x86/asus-laptop.c
@@ -796,10 +796,11 @@ static ssize_t store_ledd(struct device *dev, struct 
device_attribute *attr,
 
        rv = parse_arg(buf, count, &value);
        if (rv > 0) {
-               if (write_acpi_int(asus->handle, METHOD_LEDD, value))
+               if (write_acpi_int(asus->handle, METHOD_LEDD, value)) {
                        pr_warning("LED display write failed\n");
-               else
-                       asus->ledd_status = (u32) value;
+                       return -ENODEV;
+               }
+               asus->ledd_status = (u32) value;
        }
        return rv;
 }
-- 
1.5.4.3



--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" 
in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to