Re: [REGRESSION] Media keys cause "ACPI: \_SB_.ATKD: Unsupported event" on ASUS laptop

Rafael J. Wysocki
2014-04-24T16:49:41Z

On Thursday, April 24, 2014 04:31:19 PM Mantas Mikulėnas wrote:
> On Thu, Apr 24, 2014 at 1:51 PM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> > On Thursday, April 24, 2014 06:21:52 AM Sitsofe Wheeler wrote:
> >> On Thu, Apr 17, 2014 at 02:11:15PM +0300, Mantas Mikulėnas wrote:
> >> > 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.
> >>
> >> I'm seeing the same problem with an EeePC 900's volume and brightness
> >> keys:
> >> [ 90.098518] ACPI: \_SB_.ATKD: Unsupported event type 0x14
> >> [ 90.785202] ACPI: \_SB_.ATKD: Unsupported event type 0x15
> >> [ 457.062072] ACPI: \_SB_.ATKD: Unsupported event type 0x2e
> >> [ 457.926754] ACPI: \_SB_.ATKD: Unsupported event type 0x2d
> >> [ 458.418740] ACPI: \_SB_.ATKD: Unsupported event type 0x2c
> >> [ 458.821482] ACPI: \_SB_.ATKD: Unsupported event type 0x2b
> >> [ 459.240896] ACPI: \_SB_.ATKD: Unsupported event type 0x2a
> >
> > Does this patch help:
> >
> > ---
> > drivers/acpi/bus.c | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
>
> Yes, it seems to be working fine.

OK, thanks for verifying, below it goes with a changelog and tags.

Rafael

---
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Subject: ACPI / notify: Do not block unknown type notifications in root handler

Commit 1a699476e258 "ACPI / hotplug / PCI: Hotplug notifications from
acpi_bus_notify()" changed the root notify handler, acpi_bus_notify(),
to block unknown type norifications, but it overlooked the fact that
they might be propagated to drivers via the ->notify() callback.

Fix the problem by allowing drivers to receive unknown type
notifications via ->notify() as before.

Reported-and-tested-by: Mantas Mikulėnas <grawity@gmail.com>
Reported-and-tested-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
drivers/acpi/bus.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

Index: linux-pm/drivers/acpi/bus.c
===================================================================
--- linux-pm.orig/drivers/acpi/bus.c
+++ linux-pm/drivers/acpi/bus.c
@@ -380,9 +380,8 @@ static void acpi_bus_notify(acpi_handle
break;

default:
- acpi_handle_warn(handle, "Unsupported event type 0x%x\n", type);
- ost_code = ACPI_OST_SC_UNRECOGNIZED_NOTIFY;
- goto err;
+ acpi_handle_debug(handle, "Unknown event type 0x%x\n", type);
+ break;
}

adev = acpi_bus_get_acpi_device(handle);

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html