• Yijing Wang's avatar
    PCI: Assign resources before drivers claim devices (pci_scan_bus()) · c90570d9
    Yijing Wang authored
    Previously, pci_scan_bus() created a root PCI bus, enumerated the devices
    on it, and called pci_bus_add_devices(), which made the devices available
    for drivers to claim them.
    
    Most callers assigned resources to devices after pci_scan_bus() returns,
    which may be after drivers have claimed the devices.  This is incorrect;
    the PCI core should not change device resources while a driver is managing
    the device.
    
    Remove pci_bus_add_devices() from pci_scan_bus() and do it after any
    resource assignment in the callers.
    
    [bhelgaas: changelog, check for failure in mcf_pci_init()]
    Signed-off-by: default avatarYijing Wang <wangyijing@huawei.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    CC: "David S. Miller" <davem@davemloft.net>
    CC: Geert Uytterhoeven <geert@linux-m68k.org>
    CC: Guan Xuetao <gxt@mprc.pku.edu.cn>
    CC: Richard Henderson <rth@twiddle.net>
    CC: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    CC: Matt Turner <mattst88@gmail.com>
    c90570d9
sys_nautilus.c 6.82 KB