drivers/pci/probe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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@vger.kernel.org
Reported-by: Daniel Martin <dmanlfc@gmail.com>
Closes: https://lore.kernel.org/linux-pci/2025081053-expectant-observant-6268@gregkh/
Signed-off-by: Victor Paul <vipoll@mainlining.org>
---
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
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@vger.kernel.org
> Reported-by: Daniel Martin <dmanlfc@gmail.com>
> Closes: https://lore.kernel.org/linux-pci/2025081053-expectant-observant-6268@gregkh/
> Signed-off-by: Victor Paul <vipoll@mainlining.org>
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
>
On Mon, Oct 06, 2025 at 11:14:47AM -0500, Bjorn Helgaas wrote:
> 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@vger.kernel.org
> > Reported-by: Daniel Martin <dmanlfc@gmail.com>
> > Closes: https://lore.kernel.org/linux-pci/2025081053-expectant-observant-6268@gregkh/
> > Signed-off-by: Victor Paul <vipoll@mainlining.org>
>
> Might this be a stale .config file?
>
> I think 13bbf6a5f065 ("PCI/pwrctrl: Rename pwrctrl Kconfig symbols and
> slot module") should have resolved this.
>
Looks like 13bbf6a5f065 was not backported to 6.15 (since it is not a fix), but
8c493cc91f3a was (since it is a fix). But 6.15 is not LTS and the stable release
has been stopped with 6.15.11, we can't backport any fixes now.
So I think you should move on to 6.16 based kernel where the issue is not
present, or carry the fix in your tree.
- Mani
> 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
> >
>
--
மணிவண்ணன் சதாசிவம்
© 2016 - 2025 Red Hat, Inc.