On models on which an SMBIOS request needs to be issued in order for WMI
events to be generated, pressing the Dell Instant Launch hotkey does not
raise an i8042 interrupt - only a WMI event is generated (0xe025 on Dell
Vostro V131).  Thus, the 0xe025 event should only be ignored on machines
which do not require an SMBIOS request for enabling WMI.

Signed-off-by: Michał Kępień <ker...@kempniu.pl>
---
 drivers/platform/x86/dell-wmi.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
index 65edd93..ffc957b5 100644
--- a/drivers/platform/x86/dell-wmi.c
+++ b/drivers/platform/x86/dell-wmi.c
@@ -111,7 +111,7 @@ static const struct key_entry dell_wmi_legacy_keymap[] 
__initconst = {
        { KE_IGNORE, 0xe020, { KEY_MUTE } },
 
        /* Shortcut and audio panel keys */
-       { KE_IGNORE, 0xe025, { KEY_RESERVED } },
+       { KE_KEY, 0xe025, { KEY_PROG4 } },
        { KE_IGNORE, 0xe026, { KEY_RESERVED } },
 
        { KE_IGNORE, 0xe02e, { KEY_VOLUMEDOWN } },
@@ -235,6 +235,9 @@ static void dell_wmi_process_key(int reported_key)
            acpi_video_handles_brightness_key_presses())
                return;
 
+       if (key->keycode == KEY_PROG4 && !wmi_requires_smbios_request)
+               return;
+
        sparse_keymap_report_entry(dell_wmi_input_dev, key, 1, true);
 }
 
-- 
1.7.10.4

Reply via email to