Messages in this thread Patch in this message | | | Subject | [PATCH] toshiba_acpi.c - fix busted keyboard backlight logic | From | Valdis Kletnieks <> | Date | Wed, 20 Aug 2014 14:56:43 -0400 |
| |
Both the original and the first attempted patch managed to get the logic wrong. So we fix it so we only continue if sscanf returns exactly one value, and it has to be either 1 or 2. Apparently, programmers are getting out and hacking code without remembering de Morgan's Laws...
Patch is against the file that results from Ari's revert of the previous patch.
Signed-Off-By: Valdis Kletnieks <valdis.kletnieks@vt.edu>
-- --- drivers/platform/x86/toshiba_acpi.c.orig 2014-08-20 14:45:52.159898938 -0400 +++ drivers/platform/x86/toshiba_acpi.c 2014-08-20 14:47:55.102444985 -0400 @@ -1258,7 +1258,7 @@ static ssize_t toshiba_kbd_bl_mode_store int mode = -1; int time = -1; - if (sscanf(buf, "%i", &mode) != 1 && (mode != 2 || mode != 1)) + if (sscanf(buf, "%i", &mode) != 1 || !(mode == 2 || mode == 1)) return -EINVAL; /* Set the Keyboard Backlight Mode where:
| |