PCI: Report pci_pme_active() kmalloc failure
Previously, if kmalloc() failed, we claimed "PME# enabled" in dmesg, even though we didn't add the device to the pci_pme_list. This prints a more correct warning. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Родитель
004bd069f8
Коммит
0394cb192d
|
@ -1638,8 +1638,10 @@ void pci_pme_active(struct pci_dev *dev, bool enable)
|
|||
if (enable) {
|
||||
pme_dev = kmalloc(sizeof(struct pci_pme_device),
|
||||
GFP_KERNEL);
|
||||
if (!pme_dev)
|
||||
goto out;
|
||||
if (!pme_dev) {
|
||||
dev_warn(&dev->dev, "can't enable PME#\n");
|
||||
return;
|
||||
}
|
||||
pme_dev->dev = dev;
|
||||
mutex_lock(&pci_pme_list_mutex);
|
||||
list_add(&pme_dev->list, &pci_pme_list);
|
||||
|
@ -1660,7 +1662,6 @@ void pci_pme_active(struct pci_dev *dev, bool enable)
|
|||
}
|
||||
}
|
||||
|
||||
out:
|
||||
dev_dbg(&dev->dev, "PME# %s\n", enable ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче