Commit 3e5ce914 authored by Henrique de Moraes Holschuh's avatar Henrique de Moraes Holschuh Committed by Len Brown
Browse files

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: default avatarHenrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 3eea123d
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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);