projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'v4.4/topic/mm-kaslr' into linux-linaro-lsk-v4.4
[firefly-linux-kernel-4.4.55.git]
/
arch
/
x86
/
pci
/
common.c
diff --git
a/arch/x86/pci/common.c
b/arch/x86/pci/common.c
index eccd4d99e6a4a7182bf74469f5ecd580e8f22417..8fd6f44aee8370958076fb4a8af3e13a2781fe33 100644
(file)
--- a/
arch/x86/pci/common.c
+++ b/
arch/x86/pci/common.c
@@
-673,28
+673,22
@@
int pcibios_add_device(struct pci_dev *dev)
return 0;
}
return 0;
}
-int pcibios_
alloc_irq(struct pci_dev *dev
)
+int pcibios_
enable_device(struct pci_dev *dev, int mask
)
{
{
- /*
- * If the PCI device was already claimed by core code and has
- * MSI enabled, probing of the pcibios IRQ will overwrite
- * dev->irq. So bail out if MSI is already enabled.
- */
- if (pci_dev_msi_enabled(dev))
- return -EBUSY;
+ int err;
- return pcibios_enable_irq(dev);
-}
+ if ((err = pci_enable_resources(dev, mask)) < 0)
+ return err;
-void pcibios_free_irq(struct pci_dev *dev)
-{
- if (pcibios_disable_irq)
- pcibios_disable_irq(dev);
+ if (!pci_dev_msi_enabled(dev))
+ return pcibios_enable_irq(dev);
+ return 0;
}
}
-
int pcibios_enable_device(struct pci_dev *dev, int mask
)
+
void pcibios_disable_device (struct pci_dev *dev
)
{
{
- return pci_enable_resources(dev, mask);
+ if (!pci_dev_msi_enabled(dev) && pcibios_disable_irq)
+ pcibios_disable_irq(dev);
}
int pci_ext_cfg_avail(void)
}
int pci_ext_cfg_avail(void)