Comment 13 for bug 1597415

Revision history for this message
Michael Doube (michael-doube) wrote :

This bug definitely depends on kernel version. Both the fix mentioned above in #8 https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1597415/comments/8 and mainline kernel after this commit (found with reverse bisect), are required. Marking as linux bug. Would be very nice if fix could make it into Ubuntu 16.04 LTS.

:~/linux/linux$ git bisect bad
e075b3c898e4055ec62a1f0ed7f3b8e62814bfb6 is the first bad commit
commit e075b3c898e4055ec62a1f0ed7f3b8e62814bfb6
Author: Pali Rohár <email address hidden>
Date: Wed Jun 15 21:49:13 2016 +0200

    dell-wmi: Generate one sparse keymap for all machines

    This patch reworks code for generating sparse keymap and processing WMI
    events. It unifies procedure for generating sparse keymap and also unifies
    big switch code for processing WMI events of different types. After this
    patch dell-wmi driver does not differ between "old" and "new" hotkey type.

    It constructs sparse keymap table with all WMI codes. It is because on some
    laptops (e.g. Dell Latitude E6440) ACPI/firmware send both event types (old
    and new).

    Each WMI code in sparse keymap table is prefixed by 16bit event type, so it
    does not change functionality on laptops with "old" hotkey support (those
    without scancodes in DMI).

    This allow us to distinguish between same WMI codes with different types in
    sparse keymap. Thanks to this WMI events of type 0x0011 were moved from big
    switch into sparse keymap table too.

    This patch also fixes possible bug in parsing WMI event buffer introduced
    in commit 5ea2559726b7 ("dell-wmi: Add support for new Dell systems"). That
    commit changed buffer type from int* to u16* without fixing code. More at:
    http://lkml.iu.edu/hypermail/linux/kernel/1507.0/01950.html

    Signed-off-by: Pali Rohár <email address hidden>
    Tested-by: Michał Kępień <email address hidden>
    Reviewed-by: Michał Kępień <email address hidden>
    Tested-by: Gabriele Mazzotta <email address hidden>
    Signed-off-by: Darren Hart <email address hidden>

:040000 040000 babec68576f8756c9b0ee28a7ca7496de1c3c41a b2e0e8cffb710d6ef2bdb9d4634cbd8b65867a34 M drivers