|
@@ -300,8 +300,6 @@ static irqreturn_t pcie_pme_irq(int irq, void *context)
|
|
*/
|
|
*/
|
|
static int pcie_pme_set_native(struct pci_dev *dev, void *ign)
|
|
static int pcie_pme_set_native(struct pci_dev *dev, void *ign)
|
|
{
|
|
{
|
|
- dev_info(&dev->dev, "Signaling PME through PCIe PME interrupt\n");
|
|
|
|
-
|
|
|
|
device_set_run_wake(&dev->dev, true);
|
|
device_set_run_wake(&dev->dev, true);
|
|
dev->pme_interrupt = true;
|
|
dev->pme_interrupt = true;
|
|
return 0;
|
|
return 0;
|
|
@@ -349,12 +347,14 @@ static int pcie_pme_probe(struct pcie_device *srv)
|
|
ret = request_irq(srv->irq, pcie_pme_irq, IRQF_SHARED, "PCIe PME", srv);
|
|
ret = request_irq(srv->irq, pcie_pme_irq, IRQF_SHARED, "PCIe PME", srv);
|
|
if (ret) {
|
|
if (ret) {
|
|
kfree(data);
|
|
kfree(data);
|
|
- } else {
|
|
|
|
- pcie_pme_mark_devices(port);
|
|
|
|
- pcie_pme_interrupt_enable(port, true);
|
|
|
|
|
|
+ return ret;
|
|
}
|
|
}
|
|
|
|
|
|
- return ret;
|
|
|
|
|
|
+ dev_info(&port->dev, "Signaling PME with IRQ %d\n", srv->irq);
|
|
|
|
+
|
|
|
|
+ pcie_pme_mark_devices(port);
|
|
|
|
+ pcie_pme_interrupt_enable(port, true);
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
static bool pcie_pme_check_wakeup(struct pci_bus *bus)
|
|
static bool pcie_pme_check_wakeup(struct pci_bus *bus)
|