• Andreas Noever's avatar
    PCI: Make sure bus number resources stay within their parents bounds · 1820ffdc
    Andreas Noever authored
    Right now we use 0xff for busn_res.end when probing and later reduce it to
    the value that is actually used. This does not work if a parent bridge has
    already a lower subordinate value. For example during hotplug of a new
    bridge below an already-configured bridge the following message is printed
    from pci_bus_insert_busn_res():
    
      pci_bus 0000:06: busn_res: can not insert [bus 06-ff] under [bus 05-9b] (conflicts with (null) [bus 05-9b])
    
    This patch clamps the bus range to that of the parent and also ensures that
    we do not exceed the parents range when assigning the final subordinate
    value.
    
    We also check that busses configured by the firmware fit into their parents
    bounds.
    
    [bhelgaas: reword dev_warn() and fix printk format warning]
    Signed-off-by: default avatarAndreas Noever <andreas.noever@gmail.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    1820ffdc
probe.c 51.9 KB