Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9ca3d7b authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

ACPICA: GPEs: Do not allow enable for GPEs that have no handler(s).



ACPICA commit 23b5a8542283af28c3a3a4e3f81096d6e2569faa

There is no point in enabling a GPE that has no handler or
GPE method. At worst, it can cause GPE floods.
Rafael Wysocki.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
parent 7817e265
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -126,11 +126,19 @@ acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number)

	flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);

	/* Ensure that we have a valid GPE number */

	/*
	 * Ensure that we have a valid GPE number and that there is some way
	 * of handling the GPE (handler or a GPE method). In other words, we
	 * won't allow a valid GPE to be enabled if there is no way to handle it.
	 */
	gpe_event_info = acpi_ev_get_gpe_event_info(gpe_device, gpe_number);
	if (gpe_event_info) {
		if ((gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK) !=
		    ACPI_GPE_DISPATCH_NONE) {
			status = acpi_ev_add_gpe_reference(gpe_event_info);
		} else {
			status = AE_NO_HANDLER;
		}
	}

	acpi_os_release_lock(acpi_gbl_gpe_lock, flags);