patch-2.4.26 linux-2.4.26/drivers/acpi/events/evgpe.c
Next file: linux-2.4.26/drivers/acpi/events/evgpeblk.c
Previous file: linux-2.4.26/drivers/acpi/ec.c
Back to the patch index
Back to the overall index
- Lines: 51
- Date:
2004-04-14 06:05:28.000000000 -0700
- Orig file:
linux-2.4.25/drivers/acpi/events/evgpe.c
- Orig date:
2004-02-18 05:36:31.000000000 -0800
diff -urN linux-2.4.25/drivers/acpi/events/evgpe.c linux-2.4.26/drivers/acpi/events/evgpe.c
@@ -99,9 +99,8 @@
return (NULL);
}
- /*
- * A Non-null gpe_device means this is a GPE Block Device.
- */
+ /* A Non-NULL gpe_device means this is a GPE Block Device */
+
obj_desc = acpi_ns_get_attached_object ((struct acpi_namespace_node *) gpe_device);
if (!obj_desc ||
!obj_desc->device.gpe_block) {
@@ -149,6 +148,11 @@
ACPI_FUNCTION_NAME ("ev_gpe_detect");
+ /* Check for the case where there are no GPEs */
+
+ if (!gpe_xrupt_list) {
+ return (int_status);
+ }
/* Examine all GPE blocks attached to this interrupt level */
@@ -292,7 +296,7 @@
}
}
- if (local_gpe_event_info.flags & ACPI_EVENT_LEVEL_TRIGGERED) {
+ if ((local_gpe_event_info.flags & ACPI_GPE_XRUPT_TYPE_MASK) == ACPI_GPE_LEVEL_TRIGGERED) {
/*
* GPE is level-triggered, we clear the GPE status bit after handling
* the event.
@@ -341,7 +345,7 @@
* If edge-triggered, clear the GPE status bit now. Note that
* level-triggered events are cleared after the GPE is serviced.
*/
- if (gpe_event_info->flags & ACPI_EVENT_EDGE_TRIGGERED) {
+ if ((gpe_event_info->flags & ACPI_GPE_XRUPT_TYPE_MASK) == ACPI_GPE_EDGE_TRIGGERED) {
status = acpi_hw_clear_gpe (gpe_event_info);
if (ACPI_FAILURE (status)) {
ACPI_REPORT_ERROR (("acpi_ev_gpe_dispatch: Unable to clear GPE[%2X]\n",
@@ -364,7 +368,7 @@
/* It is now safe to clear level-triggered events. */
- if (gpe_event_info->flags & ACPI_EVENT_LEVEL_TRIGGERED) {
+ if ((gpe_event_info->flags & ACPI_GPE_XRUPT_TYPE_MASK) == ACPI_GPE_LEVEL_TRIGGERED) {
status = acpi_hw_clear_gpe (gpe_event_info);
if (ACPI_FAILURE (status)) {
ACPI_REPORT_ERROR ((
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)