From: Henrique de Moraes Holschuh Date: Sun, 23 Sep 2007 14:39:05 +0000 (-0300) Subject: ACPI: thinkpad-acpi: fix regression on HKEY LID event handling X-Git-Tag: v2.6.24-rc1~135^2~8^2~3 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e5ce914bd17335ca74a7c7b06a776c6be6ca434;p=linux-2.6 ACPI: thinkpad-acpi: fix regression on HKEY LID event handling We were letting ThinkPad-specific LID events through to userspace again, instead of dropping them. Fix it. We don't want to give userspace the option of not using generic LID handling. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown --- diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/misc/thinkpad_acpi.c index 3efe81b1b7..0a33c6ee45 100644 --- a/drivers/misc/thinkpad_acpi.c +++ b/drivers/misc/thinkpad_acpi.c @@ -1197,6 +1197,7 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) u32 hkey; unsigned int keycode, scancode; int send_acpi_ev; + int ignore_acpi_ev; if (event != 0x80) { printk(IBM_ERR "unknown HKEY notification event %d\n", event); @@ -1219,6 +1220,7 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) } send_acpi_ev = 0; + ignore_acpi_ev = 0; switch (hkey >> 12) { case 1: @@ -1244,6 +1246,8 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) "unknown LID-related HKEY event: 0x%04x\n", hkey); send_acpi_ev = 1; + } else { + ignore_acpi_ev = 1; } break; case 7: @@ -1263,11 +1267,12 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) } /* Legacy events */ - if (send_acpi_ev || hotkey_report_mode < 2) + if (!ignore_acpi_ev && (send_acpi_ev || hotkey_report_mode < 2)) { acpi_bus_generate_proc_event(ibm->acpi->device, event, hkey); + } /* netlink events */ - if (send_acpi_ev) { + if (!ignore_acpi_ev && send_acpi_ev) { acpi_bus_generate_netlink_event(ibm->acpi->device->pnp.device_class, ibm->acpi->device->dev.bus_id, event, hkey);