]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.12-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jan 2026 10:51:21 +0000 (11:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jan 2026 10:51:21 +0000 (11:51 +0100)
added patches:
revert-iommu-amd-skip-enabling-command-event-buffers-for-kdump.patch

queue-6.12/revert-iommu-amd-skip-enabling-command-event-buffers-for-kdump.patch [new file with mode: 0644]
queue-6.12/series

diff --git a/queue-6.12/revert-iommu-amd-skip-enabling-command-event-buffers-for-kdump.patch b/queue-6.12/revert-iommu-amd-skip-enabling-command-event-buffers-for-kdump.patch
new file mode 100644 (file)
index 0000000..b5ccf85
--- /dev/null
@@ -0,0 +1,69 @@
+From 5ecef76682ef506bae706f8122f056fe723d9c7c Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Fri, 9 Jan 2026 11:48:34 +0100
+Subject: Revert "iommu/amd: Skip enabling command/event buffers for kdump"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit 3344716ddee01d7caa35b470d30fd87781c661b1 which is
+commit 9be15fbfc6c5c89c22cf6e209f66ea43ee0e58bb upstream.
+
+This causes problems in older kernel trees as SNP host kdump is not
+supported in them, so drop it from the stable branches.
+
+Reported-by: Ashish Kalra <ashish.kalra@amd.com>
+Link: https://lore.kernel.org/r/dacdff7f-0606-4ed5-b056-2de564404d51@amd.com
+Cc: Vasant Hegde <vasant.hegde@amd.com>
+Cc: Sairaj Kodilkar <sarunkod@amd.com>
+Cc: Joerg Roedel <joerg.roedel@amd.com>
+Cc: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/iommu/amd/init.c |   28 +++++++++-------------------
+ 1 file changed, 9 insertions(+), 19 deletions(-)
+
+--- a/drivers/iommu/amd/init.c
++++ b/drivers/iommu/amd/init.c
+@@ -816,16 +816,11 @@ static void iommu_enable_command_buffer(
+       BUG_ON(iommu->cmd_buf == NULL);
+-      if (!is_kdump_kernel()) {
+-              /*
+-               * Command buffer is re-used for kdump kernel and setting
+-               * of MMIO register is not required.
+-               */
+-              entry = iommu_virt_to_phys(iommu->cmd_buf);
+-              entry |= MMIO_CMD_SIZE_512;
+-              memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET,
+-                          &entry, sizeof(entry));
+-      }
++      entry = iommu_virt_to_phys(iommu->cmd_buf);
++      entry |= MMIO_CMD_SIZE_512;
++
++      memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET,
++                  &entry, sizeof(entry));
+       amd_iommu_reset_cmd_buffer(iommu);
+ }
+@@ -874,15 +869,10 @@ static void iommu_enable_event_buffer(st
+       BUG_ON(iommu->evt_buf == NULL);
+-      if (!is_kdump_kernel()) {
+-              /*
+-               * Event buffer is re-used for kdump kernel and setting
+-               * of MMIO register is not required.
+-               */
+-              entry = iommu_virt_to_phys(iommu->evt_buf) | EVT_LEN_MASK;
+-              memcpy_toio(iommu->mmio_base + MMIO_EVT_BUF_OFFSET,
+-                          &entry, sizeof(entry));
+-      }
++      entry = iommu_virt_to_phys(iommu->evt_buf) | EVT_LEN_MASK;
++
++      memcpy_toio(iommu->mmio_base + MMIO_EVT_BUF_OFFSET,
++                  &entry, sizeof(entry));
+       /* set head and tail to zero manually */
+       writel(0x00, iommu->mmio_base + MMIO_EVT_HEAD_OFFSET);
index 786f8c868754e345980890b5bbe2e24bc9b0f4ff..4074d571ffcb836d50873572264e734a400ae591 100644 (file)
@@ -13,3 +13,4 @@ sched-fair-small-cleanup-to-update_newidle_cost.patch
 sched-fair-proportional-newidle-balance.patch
 virtio_console-fix-order-of-fields-cols-and-rows.patch
 pwm-stm32-always-program-polarity.patch
+revert-iommu-amd-skip-enabling-command-event-buffers-for-kdump.patch