From: Axel Lin <axel.lin@xxxxxxxxx> 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@xxxxxxxxx> Cc: Matthew Garrett <mjg@xxxxxxxxxx> Cc: Corentin Chary <corentincj@xxxxxxxxxx> Cc: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/platform/x86/asus-laptop.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff -puN drivers/platform/x86/asus-laptop.c~asus-laptop-return-proper-error-for-store_ledd-if-write_acpi_int-fail drivers/platform/x86/asus-laptop.c --- a/drivers/platform/x86/asus-laptop.c~asus-laptop-return-proper-error-for-store_ledd-if-write_acpi_int-fail +++ a/drivers/platform/x86/asus-laptop.c @@ -796,10 +796,11 @@ static ssize_t store_ledd(struct device 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; } _ -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html