summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/pci_link.c
diff options
context:
space:
mode:
authorDavid Shaohua Li <shaohua.li@intel.com>2005-08-04 05:46:33 +0200
committerLen Brown <len.brown@intel.com>2005-08-04 05:50:36 +0200
commit11e981f1e02c2a36465cbb208b21cb8b6480f399 (patch)
treed812a362e9e530f0cfd7a189d79ede3e8d5a7f96 /drivers/acpi/pci_link.c
parent/home/lenb/src/to-linus branch 'acpi-2.6.12' (diff)
downloadlinux-11e981f1e02c2a36465cbb208b21cb8b6480f399.tar.xz
linux-11e981f1e02c2a36465cbb208b21cb8b6480f399.zip
[ACPI] S3 resume: avoid kmalloc() might_sleep oops symptom
ACPI now uses kmalloc(...,GPF_ATOMIC) during suspend/resume. http://bugzilla.kernel.org/show_bug.cgi?id=3469 Signed-off-by: David Shaohua Li <shaohua.li@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/pci_link.c')
-rw-r--r--drivers/acpi/pci_link.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index 65cea07abbc3..834c2ceff1aa 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -798,6 +798,11 @@ acpi_pci_link_resume(
return_VALUE(0);
}
+/*
+ * FIXME: this is a workaround to avoid nasty warning. It will be removed
+ * after every device calls pci_disable_device in .resume.
+ */
+int acpi_in_resume;
static int
irqrouter_resume(
struct sys_device *dev)
@@ -807,6 +812,7 @@ irqrouter_resume(
ACPI_FUNCTION_TRACE("irqrouter_resume");
+ acpi_in_resume = 1;
list_for_each(node, &acpi_link.entries) {
link = list_entry(node, struct acpi_pci_link, node);
if (!link) {
@@ -816,6 +822,7 @@ irqrouter_resume(
}
acpi_pci_link_resume(link);
}
+ acpi_in_resume = 0;
return_VALUE(0);
}