diff options
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; |