瀏覽代碼

ACPI: acpi_pci_link_set() can allocate with either GFP_ATOMIC or GFP_KERNEL

acpi_pci_link_set() allocates both with interrupts on
and with interrupts off (resume-time), so check interrupts
and decide on GFP_ATOMIC or GFP_KERNEL at run-time.

Signed-off-by: Jiri Kosina <jikos@jikos.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
Jiri Kosina 18 年之前
父節點
當前提交
168a328f30
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/acpi/pci_link.c

+ 1 - 1
drivers/acpi/pci_link.c

@@ -307,7 +307,7 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
 	if (!link || !irq)
 	if (!link || !irq)
 		return -EINVAL;
 		return -EINVAL;
 
 
-	resource = kmalloc(sizeof(*resource) + 1, GFP_ATOMIC);
+	resource = kmalloc(sizeof(*resource) + 1, irqs_disabled() ? GFP_ATOMIC: GFP_KERNEL);
 	if (!resource)
 	if (!resource)
 		return -ENOMEM;
 		return -ENOMEM;