From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
linux-pci@vger.kernel.org, Guenter Roeck <groeck@juniper.net>,
Lukas Wunner <lukas@wunner.de>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Rajat Jain <rajatxjain@gmail.com>,
Joel Mathew Thomas <proxy0@tutamail.com>
Cc: linux-kernel@vger.kernel.org,
"Jonathan Cameron" <Jonathan.Cameron@huawei.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Subject: [PATCH 0/4] PCI/hotplug: Fix interrupt / event handling problems
Date: Thu, 13 Mar 2025 16:23:29 +0200 [thread overview]
Message-ID: <20250313142333.5792-1-ilpo.jarvinen@linux.intel.com> (raw)
Hi all,
It was reported introducing bwctrl broke attaching a PCI device into
VM. I tracked this down to problems in hotplug interrupt and event
handling where hotplug code assumed all events are for it without
proper checking. As a result, the extra interrupts that occurred due to
bwctrl caused hotplug pick events during slot reset due to shared irq
and eventually hotplug unconfigured the card spuriously.
This series fixes the hotplug slot reset so that no hotplug events can
be picked up during slot reset which was the original intention of the
reset code but it failed to synchronize its intention with the
interrupt and event handling.
I've intentionally split the three patches because to be careful and
allow bisect to detect if the two follow up changes make assumptions
that do not hold water, but logically they belong to the same single
change altering the synchronization between the reset slot and hotplug
event handling. It should be technically possible to fold them into the
same change, but I feel there are benefits of keeping them as separate
so bisect can see them as separate changes.
The fourth patch fixes an oversight I found while reading the HPIE
related code and is unrelated to the other three patches.
As there were small changes into the first patch since Joel's test
to address Lukas' comments in the bugzilla thread. I'd prefer him
to test it again, just in case, so I dropped the tested-by tag until
that happens.
Ilpo Järvinen (4):
PCI/hotplug: Disable HPIE over reset
PCI/hotplug: Clearing HPIE for the duration of reset is enough
PCI/hotplug: reset_lock is not required synchronizing with irq thread
PCI/hotplug: Don't enabled HPIE in poll mode
drivers/pci/hotplug/pciehp_hpc.c | 39 +++++++++++++++++++++++---------
1 file changed, 28 insertions(+), 11 deletions(-)
base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
--
2.39.5
next reply other threads:[~2025-03-13 14:23 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-13 14:23 Ilpo Järvinen [this message]
2025-03-13 14:23 ` [PATCH 1/4] PCI/hotplug: Disable HPIE over reset Ilpo Järvinen
2025-03-15 15:58 ` Lukas Wunner
[not found] ` <OLQ9qyD--F-9@tutamail.com>
2025-03-15 21:12 ` Lukas Wunner
2025-03-17 18:08 ` Ilpo Järvinen
2025-03-13 14:23 ` [PATCH 2/4] PCI/hotplug: Clearing HPIE for the duration of reset is enough Ilpo Järvinen
2025-03-13 14:23 ` [PATCH 3/4] PCI/hotplug: reset_lock is not required synchronizing with irq thread Ilpo Järvinen
2025-03-14 8:32 ` Lukas Wunner
2025-03-14 11:18 ` Ilpo Järvinen
2025-03-13 14:23 ` [PATCH 4/4] PCI/hotplug: Don't enabled HPIE in poll mode Ilpo Järvinen
2025-03-15 11:57 ` Lukas Wunner
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=20250313142333.5792-1-ilpo.jarvinen@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=bhelgaas@google.com \
--cc=groeck@juniper.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=mika.westerberg@linux.intel.com \
--cc=proxy0@tutamail.com \
--cc=rafael.j.wysocki@intel.com \
--cc=rajatxjain@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox