From: Lukas Wunner <lukas@wunner.de>
To: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Cc: bhelgaas@google.com, linux-pci@vger.kernel.org,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
rafael@kernel.org, terry.bowman@amd.com, kanie@linux.alibaba.com,
olof@lixom.net
Subject: Re: [PATCH v15 1/4] PCI: Assume control of portdrv-related features only when portdrv enabled
Date: Mon, 2 Nov 2026 21:20:39 +0100 [thread overview]
Message-ID: <aujwl45XrkVT-zUx@wunner.de> (raw)
In-Reply-To: <20261002211828.1293177-2-sathyanarayanan.kuppuswamy@linux.intel.com>
On Fri, Oct 02, 2026 at 02:18:25PM -0700, Kuppuswamy Sathyanarayanan wrote:
> Native control of PME, AER, DPC, and PCIe hotplug depends on the portdrv,
> so default to native handling of them only when CONFIG_PCIEPORTBUS is
> enabled.
>
> Native control of LTR and SHPC hotplug does not depend on portdrv, so keep
> defaulting those to native regardless.
>
> [bhelgaas: commit log]
> Link: https://lore.kernel.org/r/fcbe8a624166a1101a755edfef44a185d32ff493.1603766889.git.sathyanarayanan.kuppuswamy@linux.intel.com
> Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This is now commit 6347fd9aee19 in Linus' tree and I think there's a problem:
> +++ b/drivers/pci/probe.c
> @@ -658,6 +658,8 @@ static const struct device_type pci_host_bridge_type = {
>
> static void pci_init_host_bridge(struct pci_host_bridge *bridge)
> {
> + bool port_services = IS_ENABLED(CONFIG_PCIEPORTBUS);
> +
> INIT_LIST_HEAD(&bridge->windows);
> INIT_LIST_HEAD(&bridge->dma_ranges);
> INIT_LIST_HEAD(&bridge->ports);
> @@ -668,12 +670,12 @@ static void pci_init_host_bridge(struct pci_host_bridge *bridge)
> * may implement its own AER handling and use _OSC to prevent the
> * OS from interfering.
> */
> - bridge->native_aer = 1;
> - bridge->native_pcie_hotplug = 1;
> + bridge->native_aer = port_services;
> + bridge->native_pcie_hotplug = port_services;
The commit is setting the native_pcie_hotplug bit up front based on
CONFIG_PCIEPORTBUS.
But there's an if-clause at the top of get_port_device_capability() which
adds PCIE_PORT_SERVICE_HP to the port services used by a given PCIe port.
Inside the if-clause is code to disable hotplug interrupts if the BIOS
left them enable.
Since the commit, if CONFIG_PCIEPORTBUS=n, the if-clause is no longer
entered and so the interrupts are no longer disabled.
I'm amazed sashiko didn't flag this. I didn't spot it during review
either, but noticed it when rebasing my development branch. I still
have a patch on that branch which I developed last year but which
was ultimately not accepted (for good reasons). Back then I already
noticed that the interrupt disablement issue prevented simplification
of native_pcie_hotplug initialization. I forgot about it but had to
revisit the patch when rebasing the development branch on top of your
patches:
https://lore.kernel.org/r/5eae82776d695e589b89aad500d8208b980347e5.1752390102.git.lukas@wunner.de
Now what? The offending patch is the first one in a series of three.
Revert all three or can we somehow salvage this?
Thanks,
Lukas
next prev parent reply other threads:[~2026-11-02 20:20 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-02 21:18 [PATCH v15 0/4] Simplify PCIe native ownership Kuppuswamy Sathyanarayanan
2026-10-02 21:18 ` [PATCH v15 1/4] PCI: Assume control of portdrv-related features only when portdrv enabled Kuppuswamy Sathyanarayanan
2026-10-03 1:33 ` sashiko-bot
2026-11-02 20:20 ` Lukas Wunner [this message]
2026-11-02 20:38 ` Kuppuswamy Sathyanarayanan
2026-11-02 23:16 ` Lukas Wunner
2026-10-02 21:18 ` [PATCH v15 2/4] PCI/ACPI: Tidy _OSC control bit checking Kuppuswamy Sathyanarayanan
2026-10-03 1:33 ` sashiko-bot
2026-10-02 21:18 ` [PATCH v15 3/4] PCI/ACPI: Centralize pcie_ports_native checking Kuppuswamy Sathyanarayanan
2026-10-03 1:33 ` sashiko-bot
2026-10-02 21:18 ` [PATCH v15 4/4] PCI: Centralize pci_aer_available() checking Kuppuswamy Sathyanarayanan
2026-10-03 1:33 ` sashiko-bot
2026-10-05 18:04 ` Kuppuswamy Sathyanarayanan
2026-10-05 22:40 ` Bjorn Helgaas
2026-10-06 17:51 ` [PATCH v15 0/4] Simplify PCIe native ownership Bjorn Helgaas
2026-10-06 18:38 ` Kuppuswamy Sathyanarayanan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aujwl45XrkVT-zUx@wunner.de \
--to=lukas@wunner.de \
--cc=bhelgaas@google.com \
--cc=kanie@linux.alibaba.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=olof@lixom.net \
--cc=rafael@kernel.org \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=terry.bowman@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.