• Bjorn Helgaas's avatar
    PCI: Clear IORESOURCE_UNSET when reverting to firmware-assigned address · 0b26cd69
    Bjorn Helgaas authored
    If pci_assign_resource() fails to assign space for a BAR, we may restore
    the BAR to whatever firmware left there at boot-time (this depends on
    whether the arch implements pcibios_retrieve_fw_addr()).  The messages we
    print are not as useful as they could be:
    
      pci 0000:00:01.0: BAR 15: assigned [mem 0xc0000000-0xc01fffff 64bit pref]
      pci 0000:01:00.0: BAR 0: no space for [mem size 0x10000000 pref]
      pci 0000:01:00.0: BAR 0: trying firmware assignment [mem size 0x10000000 pref]
      pci 0000:01:00.0: BAR 0: [mem size 0x10000000 pref] conflicts with PCI Bus 0000:00 [mem 0xc0000000-0xffffffff window]
    
    The last two lines should contain the actual BAR address, not the size.
    Clear IORESOURCE_UNSET so we print the address.  If requesting the
    firmware-assigned resource fails, mark it IORESOURCE_UNSET again.
    
    This is a cosmetic change to clarify the message: previously, if
    pci_revert_fw_address() succeeded, pci_assign_resource() cleared
    IORESOURCE_UNSET anyway, so this isn't really a functional change.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=85491#c50Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    0b26cd69
setup-res.c 10 KB