summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2007-08-15 14:58:15 -0400
committerWilly Tarreau <w@1wt.eu>2007-10-17 21:30:21 +0200
commit51abbf21739d5aa4eae4723dcd79af08ab82a664 (patch)
treec3bb711b291c903d99fb93d811b045f50a970244
parent1990f30743c7c98b039fdf32d2581e1d9737d75e (diff)
downloadlinux-stable-51abbf21739d5aa4eae4723dcd79af08ab82a664.tar.gz
linux-stable-51abbf21739d5aa4eae4723dcd79af08ab82a664.tar.bz2
linux-stable-51abbf21739d5aa4eae4723dcd79af08ab82a664.zip
[PATCH] ACPICA: Fixed possible corruption of global GPE list
ACPICA: Fixed possible corruption of global GPE list Fixed a problem in acpi_ev_delete_gpe_xrupt where the global interrupt list could be corrupted if the interrupt being removed was at the head of the list. Reported by Linn Crosetto. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> Cc: Chuck Ebbert <cebbert@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/acpi/events/evgpeblk.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/acpi/events/evgpeblk.c b/drivers/acpi/events/evgpeblk.c
index 95ddeb48bc0f..2ae48c28c99f 100644
--- a/drivers/acpi/events/evgpeblk.c
+++ b/drivers/acpi/events/evgpeblk.c
@@ -586,6 +586,10 @@ acpi_ev_delete_gpe_xrupt(struct acpi_gpe_xrupt_info *gpe_xrupt)
flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);
if (gpe_xrupt->previous) {
gpe_xrupt->previous->next = gpe_xrupt->next;
+ } else {
+ /* No previous, update list head */
+
+ acpi_gbl_gpe_xrupt_list_head = gpe_xrupt->next;
}
if (gpe_xrupt->next) {