diff options
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r-- | include/linux/pci.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index 33c2b0b77429..8039f9f0ca05 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -183,6 +183,11 @@ enum pci_dev_flags { | |||
183 | PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = (__force pci_dev_flags_t) (1 << 9), | 183 | PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = (__force pci_dev_flags_t) (1 << 9), |
184 | /* Do not use FLR even if device advertises PCI_AF_CAP */ | 184 | /* Do not use FLR even if device advertises PCI_AF_CAP */ |
185 | PCI_DEV_FLAGS_NO_FLR_RESET = (__force pci_dev_flags_t) (1 << 10), | 185 | PCI_DEV_FLAGS_NO_FLR_RESET = (__force pci_dev_flags_t) (1 << 10), |
186 | /* | ||
187 | * Resume before calling the driver's system suspend hooks, disabling | ||
188 | * the direct_complete optimization. | ||
189 | */ | ||
190 | PCI_DEV_FLAGS_NEEDS_RESUME = (__force pci_dev_flags_t) (1 << 11), | ||
186 | }; | 191 | }; |
187 | 192 | ||
188 | enum pci_irq_reroute_variant { | 193 | enum pci_irq_reroute_variant { |
@@ -1342,9 +1347,9 @@ pci_alloc_irq_vectors_affinity(struct pci_dev *dev, unsigned int min_vecs, | |||
1342 | unsigned int max_vecs, unsigned int flags, | 1347 | unsigned int max_vecs, unsigned int flags, |
1343 | const struct irq_affinity *aff_desc) | 1348 | const struct irq_affinity *aff_desc) |
1344 | { | 1349 | { |
1345 | if (min_vecs > 1) | 1350 | if ((flags & PCI_IRQ_LEGACY) && min_vecs == 1 && dev->irq) |
1346 | return -EINVAL; | 1351 | return 1; |
1347 | return 1; | 1352 | return -ENOSPC; |
1348 | } | 1353 | } |
1349 | 1354 | ||
1350 | static inline void pci_free_irq_vectors(struct pci_dev *dev) | 1355 | static inline void pci_free_irq_vectors(struct pci_dev *dev) |