diff options
author | Axel Lin <axel.lin@gmail.com> | 2010-07-21 00:19:48 +0200 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2010-08-03 15:49:01 +0200 |
commit | 6a984a06487129f013ee2df6ce98b6cfada1e7b1 (patch) | |
tree | dc71ab1c6c4080663d56b535cadd63da42fad6be /drivers | |
parent | asus-laptop: fix incorrect return value for write_acpi_int_ret if handle is NULL (diff) | |
download | linux-6a984a06487129f013ee2df6ce98b6cfada1e7b1.tar.xz linux-6a984a06487129f013ee2df6ce98b6cfada1e7b1.zip |
asus-laptop: return proper error for store_ledd if write_acpi_int fail
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 <axel.lin@gmail.com>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Corentin Chary <corentincj@iksaif.net>
Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | 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 19445eaff6ff..40897bab2ebe 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; } |