diff options
Diffstat (limited to 'drivers/platform/x86')
-rw-r--r-- | drivers/platform/x86/dell-wmi.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c index 2fab94162147..8a0d39ee9217 100644 --- a/drivers/platform/x86/dell-wmi.c +++ b/drivers/platform/x86/dell-wmi.c | |||
@@ -122,7 +122,12 @@ static void dell_wmi_notify(u32 value, void *context) | |||
122 | 122 | ||
123 | if (obj && obj->type == ACPI_TYPE_BUFFER) { | 123 | if (obj && obj->type == ACPI_TYPE_BUFFER) { |
124 | int *buffer = (int *)obj->buffer.pointer; | 124 | int *buffer = (int *)obj->buffer.pointer; |
125 | key = dell_wmi_get_entry_by_scancode(buffer[1]); | 125 | /* |
126 | * The upper bytes of the event may contain | ||
127 | * additional information, so mask them off for the | ||
128 | * scancode lookup | ||
129 | */ | ||
130 | key = dell_wmi_get_entry_by_scancode(buffer[1] & 0xFFFF); | ||
126 | if (key) { | 131 | if (key) { |
127 | input_report_key(dell_wmi_input_dev, key->keycode, 1); | 132 | input_report_key(dell_wmi_input_dev, key->keycode, 1); |
128 | input_sync(dell_wmi_input_dev); | 133 | input_sync(dell_wmi_input_dev); |