diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2012-07-09 23:02:44 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2012-07-09 23:02:44 -0400 |
commit | d68e70c6e59ad08feca291c2790164d3231c425e (patch) | |
tree | 17bd7b95ef577a5b2f1913be20e31c0f41390d1a /drivers/pci/probe.c | |
parent | 9349b44a459677e270ae19a373c58e5c3edbff04 (diff) | |
parent | 9aac537e0e33f4e4f28b8e7472c283fb6460c650 (diff) |
Merge branch 'pci/bjorn-disable-decode' into next
* pci/bjorn-disable-decode:
PCI: disable MEM decoding while updating 64-bit MEM BARs
PCI: leave MEM and IO decoding disabled during 64-bit BAR sizing, too
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r-- | drivers/pci/probe.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index cd06c8478267..5e5358a3dd92 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c | |||
@@ -189,9 +189,6 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, | |||
189 | pci_read_config_dword(dev, pos, &sz); | 189 | pci_read_config_dword(dev, pos, &sz); |
190 | pci_write_config_dword(dev, pos, l); | 190 | pci_write_config_dword(dev, pos, l); |
191 | 191 | ||
192 | if (!dev->mmio_always_on) | ||
193 | pci_write_config_word(dev, PCI_COMMAND, orig_cmd); | ||
194 | |||
195 | /* | 192 | /* |
196 | * All bits set in sz means the device isn't working properly. | 193 | * All bits set in sz means the device isn't working properly. |
197 | * If the BAR isn't implemented, all bits must be 0. If it's a | 194 | * If the BAR isn't implemented, all bits must be 0. If it's a |
@@ -276,6 +273,9 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, | |||
276 | } | 273 | } |
277 | 274 | ||
278 | out: | 275 | out: |
276 | if (!dev->mmio_always_on) | ||
277 | pci_write_config_word(dev, PCI_COMMAND, orig_cmd); | ||
278 | |||
279 | return (res->flags & IORESOURCE_MEM_64) ? 1 : 0; | 279 | return (res->flags & IORESOURCE_MEM_64) ? 1 : 0; |
280 | fail: | 280 | fail: |
281 | res->flags = 0; | 281 | res->flags = 0; |