diff options
-rw-r--r-- | drivers/pci/pci.c | 2 | ||||
-rw-r--r-- | include/linux/pci.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index e9d4fd861ba1..422bc0179e90 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -3197,7 +3197,7 @@ static int pci_pm_reset(struct pci_dev *dev, int probe) | |||
3197 | { | 3197 | { |
3198 | u16 csr; | 3198 | u16 csr; |
3199 | 3199 | ||
3200 | if (!dev->pm_cap) | 3200 | if (!dev->pm_cap || dev->dev_flags & PCI_DEV_FLAGS_NO_PM_RESET) |
3201 | return -ENOTTY; | 3201 | return -ENOTTY; |
3202 | 3202 | ||
3203 | pci_read_config_word(dev, dev->pm_cap + PCI_PM_CTRL, &csr); | 3203 | pci_read_config_word(dev, dev->pm_cap + PCI_PM_CTRL, &csr); |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 44627f1df4ca..7bed32b3fd54 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -177,6 +177,8 @@ enum pci_dev_flags { | |||
177 | PCI_DEV_FLAG_PCIE_BRIDGE_ALIAS = (__force pci_dev_flags_t) (1 << 5), | 177 | PCI_DEV_FLAG_PCIE_BRIDGE_ALIAS = (__force pci_dev_flags_t) (1 << 5), |
178 | /* Do not use bus resets for device */ | 178 | /* Do not use bus resets for device */ |
179 | PCI_DEV_FLAGS_NO_BUS_RESET = (__force pci_dev_flags_t) (1 << 6), | 179 | PCI_DEV_FLAGS_NO_BUS_RESET = (__force pci_dev_flags_t) (1 << 6), |
180 | /* Do not use PM reset even if device advertises NoSoftRst- */ | ||
181 | PCI_DEV_FLAGS_NO_PM_RESET = (__force pci_dev_flags_t) (1 << 7), | ||
180 | }; | 182 | }; |
181 | 183 | ||
182 | enum pci_irq_reroute_variant { | 184 | enum pci_irq_reroute_variant { |