Re: [PATCH] PCI: probe: fix typo: CONFIG_PCI_PWRCTRL -> CONFIG_PCI_PWRCTL
From: Bjorn Helgaas
Date: Mon Oct 06 2025 - 12:14:49 EST
On Mon, Oct 06, 2025 at 06:37:14PM +0400, Victor Paul wrote:
> The commit
> 8c493cc91f3a ("PCI/pwrctrl: Create pwrctrl devices only when CONFIG_PCI_PWRCTRL is enabled")
> introduced a typo, it uses CONFIG_PCI_PWRCTRL while the correct symbol
> is CONFIG_PCI_PWRCTL. As reported by Daniel Martin, it causes device
> initialization failures on some arm boards.
> I encountered it on sm8250-xiaomi-pipa after rebasing from v6.15.8
> to v6.15.11, with the following error:
> [ 6.035321] pcieport 0000:00:00.0: Failed to create device link (0x180) with supplier qca6390-pmu for /soc@0/pcie@1c00000/pcie@0/wifi@0
>
> Fix the typo to use the correct CONFIG_PCI_PWRCTL symbol.
>
> Fixes: 8c493cc91f3a ("PCI/pwrctrl: Create pwrctrl devices only when CONFIG_PCI_PWRCTRL is enabled")
> Cc: stable@xxxxxxxxxxxxxxx
> Reported-by: Daniel Martin <dmanlfc@xxxxxxxxx>
> Closes: https://lore.kernel.org/linux-pci/2025081053-expectant-observant-6268@gregkh/
> Signed-off-by: Victor Paul <vipoll@xxxxxxxxxxxxxx>
Might this be a stale .config file?
I think 13bbf6a5f065 ("PCI/pwrctrl: Rename pwrctrl Kconfig symbols and
slot module") should have resolved this.
In the current upstream tree (fd94619c4336 ("Merge tag 'zonefs-6.18-rc1'
of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs"),
git grep "\<CONFIG_PCI_PWRCTL\>" finds nothing at all.
> ---
> drivers/pci/probe.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
> index 19010c382864..7e97e33b3fb5 100644
> --- a/drivers/pci/probe.c
> +++ b/drivers/pci/probe.c
> @@ -2508,7 +2508,7 @@ bool pci_bus_read_dev_vendor_id(struct pci_bus *bus, int devfn, u32 *l,
> }
> EXPORT_SYMBOL(pci_bus_read_dev_vendor_id);
>
> -#if IS_ENABLED(CONFIG_PCI_PWRCTRL)
> +#if IS_ENABLED(CONFIG_PCI_PWRCTL)
> static struct platform_device *pci_pwrctrl_create_device(struct pci_bus *bus, int devfn)
> {
> struct pci_host_bridge *host = pci_find_host_bridge(bus);
> --
> 2.51.0
>