• Arnd Bergmann's avatar
    PCI: hisi: Fix deferred probing · 9f55cf56
    Arnd Bergmann authored
    The hisi_pcie_probe() function is incorrectly marked as __init, as Kconfig
    tells us:
    
      WARNING: drivers/pci/host/built-in.o(.data+0x7780): Section mismatch in reference from the variable hisi_pcie_driver to the function .init.text:hisi_pcie_probe()
    
    If the probe for this device gets deferred past the point where __init
    functions are removed, or the device is unbound and then reattached to the
    driver, we branch into uninitialized memory, which is bad.
    
    Remove the __init annotation from hisi_pcie_probe() and
    hisi_add_pcie_port().
    
    Fixes: 500a1d9a ("PCI: hisi: Add HiSilicon SoC Hip05 PCIe driver")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
    Acked-by: default avatarZhou Wang <wangzhou1@hisilicon.com>
    9f55cf56
pcie-hisi.c 4.84 KB