From: Philipp Stanner <pstanner@redhat.com>
To: amien Le Moal <dlemoal@kernel.org>,
Niklas Cassel <cassel@kernel.org>,
Basavaraj Natikar <basavaraj.natikar@amd.com>,
Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <bentiss@kernel.org>,
Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Alex Dubov <oakad@yahoo.com>,
Sudarsana Kalluru <skalluru@marvell.com>,
Manish Chopra <manishc@marvell.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Rasesh Mody <rmody@marvell.com>,
GR-Linux-NIC-Dev@marvell.com,
Igor Mitsyanko <imitsyanko@quantenna.com>,
Sergey Matyukevich <geomatsi@gmail.com>,
Kalle Valo <kvalo@kernel.org>,
Sanjay R Mehta <sanju.mehta@amd.com>,
Shyam Sundar S K <Shyam-sundar.S-k@amd.com>,
Jon Mason <jdmason@kudzu.us>, Dave Jiang <dave.jiang@intel.com>,
Allen Hubbe <allenbh@gmail.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Alex Williamson <alex.williamson@redhat.com>,
Juergen Gross <jgross@suse.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
Mario Limonciello <mario.limonciello@amd.com>,
Chen Ni <nichen@iscas.ac.cn>,
Philipp Stanner <pstanner@redhat.com>,
Ricky Wu <ricky_wu@realtek.com>,
Al Viro <viro@zeniv.linux.org.uk>,
Breno Leitao <leitao@debian.org>,
Thomas Gleixner <tglx@linutronix.de>,
Kevin Tian <kevin.tian@intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Mostafa Saleh <smostafa@google.com>,
Jason Gunthorpe <jgg@ziepe.ca>, Yi Liu <yi.l.liu@intel.com>,
Kunwu Chan <chentao@kylinos.cn>,
Dan Carpenter <dan.carpenter@linaro.org>,
"Dr. David Alan Gilbert" <linux@treblig.org>,
Ankit Agrawal <ankita@nvidia.com>,
Reinette Chatre <reinette.chatre@intel.com>,
Eric Auger <eric.auger@redhat.com>, Ye Bin <yebin10@huawei.com>
Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-input@vger.kernel.org, netdev@vger.kernel.org,
linux-wireless@vger.kernel.org, ntb@lists.linux.dev,
linux-pci@vger.kernel.org, kvm@vger.kernel.org,
xen-devel@lists.xenproject.org
Subject: [PATCH v3 07/11] PCI: MSI: Use never-managed version of pci_intx()
Date: Mon, 9 Dec 2024 14:06:29 +0100 [thread overview]
Message-ID: <20241209130632.132074-9-pstanner@redhat.com> (raw)
In-Reply-To: <20241209130632.132074-2-pstanner@redhat.com>
pci_intx() is a hybrid function which can sometimes be managed through
devres. To remove this hybrid nature from pci_intx(), it is necessary to
port users to either an always-managed or a never-managed version.
MSI sets up its own separate devres callback implicitly in
pcim_setup_msi_release(). This callback ultimately uses pci_intx(),
which is problematic since the callback of course runs on driver-detach.
That problem has last been described here:
https://lore.kernel.org/all/ee44ea7ac760e73edad3f20b30b4d2fff66c1a85.camel@redhat.com/
Replace the call to pci_intx() with one to the never-managed version
pci_intx_unmanaged().
Signed-off-by: Philipp Stanner <pstanner@redhat.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
---
drivers/pci/msi/api.c | 2 +-
drivers/pci/msi/msi.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/msi/api.c b/drivers/pci/msi/api.c
index b956ce591f96..c95e2e7dc9ab 100644
--- a/drivers/pci/msi/api.c
+++ b/drivers/pci/msi/api.c
@@ -289,7 +289,7 @@ int pci_alloc_irq_vectors_affinity(struct pci_dev *dev, unsigned int min_vecs,
*/
if (affd)
irq_create_affinity_masks(1, affd);
- pci_intx(dev, 1);
+ pci_intx_unmanaged(dev, 1);
return 1;
}
}
diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
index 3a45879d85db..53f13b09db50 100644
--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -268,7 +268,7 @@ EXPORT_SYMBOL_GPL(pci_write_msi_msg);
static void pci_intx_for_msi(struct pci_dev *dev, int enable)
{
if (!(dev->dev_flags & PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG))
- pci_intx(dev, enable);
+ pci_intx_unmanaged(dev, enable);
}
static void pci_msi_set_enable(struct pci_dev *dev, int enable)
--
2.47.1
next prev parent reply other threads:[~2024-12-09 13:07 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-09 13:06 [PATCH v3 00/11] Remove implicit devres from pci_intx() Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 01/11] PCI: Prepare removing " Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 02/11] drivers/xen: Use never-managed version of pci_intx() Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 03/11] net/ethernet: " Philipp Stanner
2024-12-12 14:56 ` Paolo Abeni
2024-12-12 19:24 ` Bjorn Helgaas
2024-12-09 13:06 ` [PATCH v3 04/11] net/ntb: " Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 05/11] misc: " Philipp Stanner
2024-12-12 19:26 ` Bjorn Helgaas
2024-12-13 7:31 ` Greg Kroah-Hartman
2025-01-10 14:28 ` Greg Kroah-Hartman
2024-12-09 13:06 ` [PATCH v3 06/11] vfio/pci: " Philipp Stanner
2024-12-12 19:21 ` Bjorn Helgaas
2024-12-12 19:49 ` Alex Williamson
2024-12-09 13:06 ` Philipp Stanner [this message]
2024-12-09 13:06 ` [PATCH v3 08/11] ata: Use always-managed " Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 09/11] wifi: qtnfmac: use always-managed version of pcim_intx() Philipp Stanner
2024-12-12 19:29 ` Bjorn Helgaas
2024-12-13 10:30 ` Kalle Valo
2024-12-13 17:53 ` Bjorn Helgaas
2024-12-09 13:06 ` [PATCH v3 10/11] HID: amd_sfh: Use " Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 11/11] Remove devres from pci_intx() Philipp Stanner
2024-12-12 14:58 ` Paolo Abeni
2024-12-12 19:21 ` [PATCH v3 00/11] Remove implicit " Bjorn Helgaas
2024-12-13 5:25 ` Niklas Cassel
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=20241209130632.132074-9-pstanner@redhat.com \
--to=pstanner@redhat.com \
--cc=GR-Linux-NIC-Dev@marvell.com \
--cc=Shyam-sundar.S-k@amd.com \
--cc=alex.williamson@redhat.com \
--cc=allenbh@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=andriy.shevchenko@linux.intel.com \
--cc=ankita@nvidia.com \
--cc=arnd@arndb.de \
--cc=basavaraj.natikar@amd.com \
--cc=bentiss@kernel.org \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=chentao@kylinos.cn \
--cc=dan.carpenter@linaro.org \
--cc=dave.jiang@intel.com \
--cc=davem@davemloft.net \
--cc=dlemoal@kernel.org \
--cc=edumazet@google.com \
--cc=eric.auger@redhat.com \
--cc=geomatsi@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=imitsyanko@quantenna.com \
--cc=jdmason@kudzu.us \
--cc=jgg@ziepe.ca \
--cc=jgross@suse.com \
--cc=jikos@kernel.org \
--cc=kevin.tian@intel.com \
--cc=kuba@kernel.org \
--cc=kvalo@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=leitao@debian.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linux@treblig.org \
--cc=manishc@marvell.com \
--cc=mario.limonciello@amd.com \
--cc=netdev@vger.kernel.org \
--cc=nichen@iscas.ac.cn \
--cc=ntb@lists.linux.dev \
--cc=oakad@yahoo.com \
--cc=oleksandr_tyshchenko@epam.com \
--cc=pabeni@redhat.com \
--cc=reinette.chatre@intel.com \
--cc=ricky_wu@realtek.com \
--cc=rmody@marvell.com \
--cc=sanju.mehta@amd.com \
--cc=skalluru@marvell.com \
--cc=smostafa@google.com \
--cc=sstabellini@kernel.org \
--cc=tglx@linutronix.de \
--cc=viro@zeniv.linux.org.uk \
--cc=xen-devel@lists.xenproject.org \
--cc=yebin10@huawei.com \
--cc=yi.l.liu@intel.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.