[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stable-8.2.9 16/45] hw/nvme: fix msix_uninit with exclusive bar
From: |
Michael Tokarev |
Subject: |
[Stable-8.2.9 16/45] hw/nvme: fix msix_uninit with exclusive bar |
Date: |
Mon, 27 Jan 2025 23:25:57 +0300 |
Commit fa905f65c554 introduced a machine compatibility parameter to
enable an exclusive bar for msix. It failed to account for this when
cleaning up. Make sure that if an exclusive bar is enabled, we use the
proper cleanup routine.
Cc: qemu-stable@nongnu.org
Fixes: fa905f65c554 ("hw/nvme: add machine compatibility parameter to enable
msix exclusive bar")
Reviewed-by: Jesper Wendel Devantier <foss@defmacro.it>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
(cherry picked from commit 9162f101257639cc4c7e20f72f77268b1256dd79)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 359313dbcb..94a37a3aef 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -8411,7 +8411,12 @@ static void nvme_exit(PCIDevice *pci_dev)
pcie_sriov_pf_exit(pci_dev);
}
- msix_uninit(pci_dev, &n->bar0, &n->bar0);
+ if (n->params.msix_exclusive_bar && !pci_is_vf(pci_dev)) {
+ msix_uninit_exclusive_bar(pci_dev);
+ } else {
+ msix_uninit(pci_dev, &n->bar0, &n->bar0);
+ }
+
memory_region_del_subregion(&n->bar0, &n->iomem);
}
--
2.39.5
- [Stable-8.2.9 07/45] ssh: Do not switch session to non-blocking mode, (continued)
- [Stable-8.2.9 07/45] ssh: Do not switch session to non-blocking mode, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 09/45] tests/9p: fix Rreaddir response name, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 10/45] tests/9p: add missing Rgetattr response name, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 11/45] tests/9p: add 'use-after-unlink' test, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 12/45] 9pfs: remove obsolete comment in v9fs_getattr(), Michael Tokarev, 2025/01/28
- [Stable-8.2.9 13/45] 9pfs: fix 'Tgetattr' after unlink, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 14/45] tests/9p: also check 'Tgetattr' in 'use-after-unlink' test, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 15/45] target/ppc: Fix non-maskable interrupt while halted, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 18/45] hw/openrisc/openrisc_sim: keep serial@90000000 as default, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 17/45] hw/nvme: take a reference on the subsystem on vf realization, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 16/45] hw/nvme: fix msix_uninit with exclusive bar,
Michael Tokarev <=
- [Stable-8.2.9 20/45] Update FreeBSD CI jobs FreeBSD 14.1, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 21/45] .gitlab-ci.d/cirrus: Remove the netbsd and openbsd jobs, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 23/45] 9pfs: fix regression regarding CVE-2023-2861, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 19/45] target/riscv: Avoid bad shift in riscv_cpu_do_interrupt(), Michael Tokarev, 2025/01/28
- [Stable-8.2.9 22/45] .gitlab-ci.d/cirrus: Drop support for macOS 13 (Ventura), Michael Tokarev, 2025/01/28
- [Stable-8.2.9 25/45] fuzz: specify audiodev for usb-audio, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 24/45] tcg/riscv: Fix StoreStore barrier generation, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 26/45] x86/loader: only patch linux kernels, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 27/45] edk2: get version + date from git submodule, Michael Tokarev, 2025/01/28
- [Stable-8.2.9 28/45] edk2: commit version info, Michael Tokarev, 2025/01/28