FAILED: patch "[PATCH] dmaengine: idxd: Refactor remove call with idxd_cleanup()" failed to apply to 6.1-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
git checkout FETCH_HEAD
git cherry-pick -x a409e919ca321cc0e28f8abf96fde299f0072a81
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2025051938-reactor-print-6033@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From a409e919ca321cc0e28f8abf96fde299f0072a81 Mon Sep 17 00:00:00 2001
From: Shuai Xue <[email protected]>
Date: Fri, 4 Apr 2025 20:02:17 +0800
Subject: [PATCH] dmaengine: idxd: Refactor remove call with idxd_cleanup()
helper
The idxd_cleanup() helper cleans up perfmon, interrupts, internals and so on. Refactor remove call with the idxd_cleanup() helper to avoid code duplication. Note, this also fixes the missing put_device() for idxd groups, enginces and wqs.
drivers/dma/idxd/init.c +2 -12
@@ -1308,7 +1308,6 @@ static void idxd_shutdown(struct pci_dev *pdev)static void idxd_remove (struct pci_dev *pdev) {struct idxd_device *idxd =pci_get_drvdata (pdev); -struct idxd_irq_entry *irq_entry;idxd_unregister_devices (idxd);/*
@@ -1321,21 +1320,12 @@ static void idxd_remove(struct pci_dev *pdev)get_device (idxd_confdev (idxd));device_unregister (idxd_confdev (idxd));idxd_shutdown (pdev); -if (device_pasid_enabled (idxd)) -idxd_disable_system_pasid (idxd);idxd_device_remove_debugfs (idxd); - - irq_entry =idxd_get_ie (idxd,0 ); -free_irq (irq_entry->vector, irq_entry); -pci_free_irq_vectors (pdev); +idxd_cleanup (idxd);pci_iounmap (pdev, idxd->reg_base); -if (device_user_pasid_enabled (idxd)) -idxd_disable_sva (pdev); -pci_disable_device (pdev); -destroy_workqueue (idxd->wq); -perfmon_pmu_remove (idxd);put_device (idxd_confdev (idxd));idxd_free (idxd); +pci_disable_device (pdev); }static struct pci_driver idxd_pci_driver = {