Media keys cause "ACPI: \_SB_.ATKD: Unsupported event" on ASUS laptop

From: Mantas MikulÄnas
Date: Thu Apr 17 2014 - 07:11:43 EST


After commit 1a699476e258 [two months ago], Linux has stopped
recognizing the media & function keys on my laptop's keyboard (the
laptop is ASUS K52JT.206).

When I press any of the Fn keys (Play/Pause, Stop, Prev, Next, Vol+,
Vol-, Mute, WiFi, Brightness +/-...), I get the following messages in dmesg:

| ACPI: \_SB_.ATKD: Unsupported event type 0x45
| ACPI: \_SB_.ATKD: Unsupported event type 0x43
| ACPI: \_SB_.ATKD: Unsupported event type 0x40
| etc.

In the past (v3.14 and earlier), those used to be reported as ACPI and
input events. From `acpi_listen` on a good kernel:

| hotkey ATK0100:00 00000045 00000000
| cd/play CDPLAY 00000080 00000000 K
|
| hotkey ATK0100:00 00000031 0000000d
| button/volumedown VOLDN 00000080 00000000 K
|
| hotkey ATK0100:00 00000016 00000000
|
| hotkey ATK0100:00 00000025 00000001

Bisect output:

1a699476e25814343766342672c655fb135224cc is the first bad commit
commit 1a699476e25814343766342672c655fb135224cc
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Thu Feb 6 13:58:13 2014 +0100

ACPI / hotplug / PCI: Hotplug notifications from acpi_bus_notify()

Since acpi_bus_notify() is executed on all notifications for all
devices anyway, make it execute acpi_device_hotplug() for all
hotplug events instead of installing notify handlers pointing to
the same function for all hotplug devices.
[...]

* Linux 3.14.0-rc1-00023-g1a699476e258 (bad)
* Linux 3.14.0-rc1-00022-g5e6f236c2631 (good)

(I'm not quite sure why they show up as 3.14-rc1 if they're after 3.14?)

The kernel config is close to that of stock Arch Linux, except with
entirely irrelevant devices disabled (PATA, SCSI, tuner, etc.)

--
Mantas MikulÄnas <grawity@xxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/