OSDN Git Service

PCI: Shrink decoding-disabled window while sizing BARs
authorMyron Stowe <myron.stowe@redhat.com>
Thu, 30 Oct 2014 17:54:43 +0000 (11:54 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 11 Nov 2014 03:28:17 +0000 (20:28 -0700)
commitf795d86aaa578501551a2d1b463eac4bbea84db2
tree797faaa59809689b0b688f6bff10b016c35ad329
parent36e8164882ca6d3c41cb91e6f09a3ed236841f80
PCI: Shrink decoding-disabled window while sizing BARs

__pci_read_base() disables decoding while sizing device BARs.  We can't
print while decoding is disabled, which leads to some rather messy exit
logic.

Coalesce the sizing logic to minimize the time decoding is disabled.  This
lets us print errors where they're detected.

The refactoring also takes advantage of the symmetry of obtaining the BAR's
extent (pci_size) and storing the result as the 'region' for both the
32-bit and 64-bit BARs, consolidating both cases.

No functional change intended.

[bhelgaas: move pci_size() up, per Thomas Petazzoni, Thierry Reding, Kevin Hilman]
Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Matthew Wilcox <willy@linux.intel.com>
drivers/pci/probe.c