diff options
author | Mark Brown <broonie@kernel.org> | 2014-11-26 20:39:02 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2014-11-26 20:39:02 +0000 |
commit | 75ff9420448e7bb30ab8265463595e794ce0c3aa (patch) | |
tree | ea00f0cff2f6a272d60a518eb6dde6e14263b5b7 /drivers/pci/pcie | |
parent | 4524df83c7fc4f44702099a2db7b3cc938eb111f (diff) | |
parent | 206c5f60a3d902bc4b56dab2de3e88de5eb06108 (diff) | |
download | op-kernel-dev-75ff9420448e7bb30ab8265463595e794ce0c3aa.zip op-kernel-dev-75ff9420448e7bb30ab8265463595e794ce0c3aa.tar.gz |
Merge tag 'v3.18-rc4' into regulator-max77686
Linux 3.18-rc4
Diffstat (limited to 'drivers/pci/pcie')
-rw-r--r-- | drivers/pci/pcie/pme.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/pci/pcie/pme.c b/drivers/pci/pcie/pme.c index a9f9c46..63fc639 100644 --- a/drivers/pci/pcie/pme.c +++ b/drivers/pci/pcie/pme.c @@ -397,6 +397,7 @@ static int pcie_pme_suspend(struct pcie_device *srv) struct pcie_pme_service_data *data = get_service_data(srv); struct pci_dev *port = srv->port; bool wakeup; + int ret; if (device_may_wakeup(&port->dev)) { wakeup = true; @@ -407,9 +408,10 @@ static int pcie_pme_suspend(struct pcie_device *srv) } spin_lock_irq(&data->lock); if (wakeup) { - enable_irq_wake(srv->irq); + ret = enable_irq_wake(srv->irq); data->suspend_level = PME_SUSPEND_WAKEUP; - } else { + } + if (!wakeup || ret) { struct pci_dev *port = srv->port; pcie_pme_interrupt_enable(port, false); |