diff options
author | Mark Brown <broonie@linaro.org> | 2014-03-19 13:02:34 +0000 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-03-19 13:02:34 +0000 |
commit | 236b11de51c7501c454ca125d84152b06ef7f27e (patch) | |
tree | d0ca0b99961da2a8a46b4f86a57de8424dadce1d /drivers/pci/pci.c | |
parent | 0f4cc282951a76011db1da6787b3d2acc63238ca (diff) | |
parent | ba3e31f87e8b736adf01f1dc09cd5618966ee193 (diff) | |
download | linux-236b11de51c7501c454ca125d84152b06ef7f27e.tar.gz linux-236b11de51c7501c454ca125d84152b06ef7f27e.tar.xz |
Merge branch 'ib-mfd-regulator-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into regulator-s2mps11
Diffstat (limited to 'drivers/pci/pci.c')
-rw-r--r-- | drivers/pci/pci.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 1febe90831b4..6b05f6134b68 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -1181,6 +1181,8 @@ EXPORT_SYMBOL_GPL(pci_load_and_free_saved_state); static int do_pci_enable_device(struct pci_dev *dev, int bars) { int err; + u16 cmd; + u8 pin; err = pci_set_power_state(dev, PCI_D0); if (err < 0 && err != -EIO) @@ -1190,6 +1192,14 @@ static int do_pci_enable_device(struct pci_dev *dev, int bars) return err; pci_fixup_device(pci_fixup_enable, dev); + pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); + if (pin) { + pci_read_config_word(dev, PCI_COMMAND, &cmd); + if (cmd & PCI_COMMAND_INTX_DISABLE) + pci_write_config_word(dev, PCI_COMMAND, + cmd & ~PCI_COMMAND_INTX_DISABLE); + } + return 0; } |