OSDN Git Service

PCI: Don't enable decoding if BAR hasn't been assigned an address
authorBjorn Helgaas <bhelgaas@google.com>
Wed, 26 Feb 2014 18:26:00 +0000 (11:26 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 19 Mar 2014 21:00:14 +0000 (15:00 -0600)
commit3cedcc3621289d41bd21c5dbe0b886d57c83a1ea
treea746035791d4abbd0b9135e8e4bf46890799f6f1
parentc83bd900aac38552b0d903588bbb084d3b26fe71
PCI: Don't enable decoding if BAR hasn't been assigned an address

Don't enable memory or I/O decoding if we haven't assigned or claimed the
BAR's resource.

If we enable decoding for a BAR that hasn't been assigned an address, we'll
likely cause bus conflicts.  This declines to enable decoding for resources
with IORESOURCE_UNSET.

Note that drivers can use pci_enable_device_io() or pci_enable_device_mem()
if they only care about specific types of BARs.  In that case, we don't
bother checking whether the corresponding resources are assigned or
claimed.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/setup-res.c