mirror of
https://git.proxmox.com/git/pve-kernel
synced 2025-08-04 18:59:10 +00:00

both patches are queued for 6.14.2: https://lore.kernel.org/all/20250409115934.968141886@linuxfoundation.org/ issue was reported in our community forum: https://forum.proxmox.com/threads/.164497/post-762617 as we have access to a server where we could reproduce the issue (crash+loop, before the system was up[0]) I tested with those 2 a kernel with those 2 patches applied - and the system booted successfully. FWIW: I tried building with the original series as well (containing a removal of some PCI-ids), and it also resolved the issue: https://lore.kernel.org/all/20250203162511.911946-1-Basavaraj.Natikar@amd.com/ [0] before proxmox-boot-cleanup.service (so pinning with --next-boot did not help) Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com> Link: https://lore.proxmox.com/20250410130834.1745644-1-s.ivanov@proxmox.com
32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
|
|
Date: Mon, 3 Feb 2025 21:55:10 +0530
|
|
Subject: [PATCH] dmaengine: ae4dma: Use the MSI count and its corresponding
|
|
IRQ number
|
|
|
|
Instead of using the defined maximum hardware queue, which can lead to
|
|
incorrect values if the counts mismatch, use the exact supported MSI
|
|
count and its corresponding IRQ number.
|
|
|
|
Fixes: 90a30e268d9b ("dmaengine: ae4dma: Add AMD ae4dma controller driver")
|
|
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
|
|
---
|
|
drivers/dma/amd/ae4dma/ae4dma-pci.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/dma/amd/ae4dma/ae4dma-pci.c b/drivers/dma/amd/ae4dma/ae4dma-pci.c
|
|
index aad0dc4294a3945245737978c077eecf740ccb3a..587c5a10c1a8b2dbb925c31af86b1d0b23438b45 100644
|
|
--- a/drivers/dma/amd/ae4dma/ae4dma-pci.c
|
|
+++ b/drivers/dma/amd/ae4dma/ae4dma-pci.c
|
|
@@ -46,8 +46,8 @@ static int ae4_get_irqs(struct ae4_device *ae4)
|
|
|
|
} else {
|
|
ae4_msix->msix_count = ret;
|
|
- for (i = 0; i < MAX_AE4_HW_QUEUES; i++)
|
|
- ae4->ae4_irq[i] = ae4_msix->msix_entry[i].vector;
|
|
+ for (i = 0; i < ae4_msix->msix_count; i++)
|
|
+ ae4->ae4_irq[i] = pci_irq_vector(pdev, i);
|
|
}
|
|
|
|
return ret;
|