• Yinghai Lu's avatar
    x86/PCI: Implement pcibios_resource_survey_bus() · b3e65e1f
    Yinghai Lu authored
    During testing remove/rescan root bus 00, found
    [  338.142574] bus: 'pci': really_probe: probing driver ata_piix with device 0000:00:01.1
    [  338.146788] ata_piix 0000:00:01.1: device not available (can't reserve [io  0x01f0-0x01f7])
    [  338.150565] ata_piix: probe of 0000:00:01.1 failed with error -22
    
    because that fixed resource is not claimed.
    For bootint path it is claimed in  from
            arch/x86/pci/i386.c::pcibios_allocate_resources()
    
    Claim those resources, so on the remove/rescan will still use old
    resources.
    
    It is some kind honoring FW setting in the registers during hot add.
    esp root-bus hot add is through acpi, BIOS has chance to set some registers
    before handing over.
    
    [bhelgaas: move weak definition to patch that uses it]
    Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    b3e65e1f
i386.c 11.6 KB