diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index de54fd643baf73009cd36f8bd766cfe67fff94ce..0195066251e52c152fa07ff9416e34e3c3c66314 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -1263,7 +1263,7 @@ int pci_prepare_to_sleep(struct pci_dev *dev)
 	if (target_state == PCI_POWER_ERROR)
 		return -EIO;
 
-	pci_enable_wake(dev, target_state, true);
+	pci_enable_wake(dev, target_state, device_may_wakeup(&dev->dev));
 
 	error = pci_set_power_state(dev, target_state);