dmaengine: ae4dma: Use the MSI count and its corresponding IRQ number
authorBasavaraj Natikar <Basavaraj.Natikar@amd.com>
Mon, 3 Feb 2025 16:25:10 +0000 (21:55 +0530)
committerVinod Koul <vkoul@kernel.org>
Mon, 10 Mar 2025 21:03:27 +0000 (02:33 +0530)
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>
Link: https://lore.kernel.org/r/20250203162511.911946-3-Basavaraj.Natikar@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/amd/ae4dma/ae4dma-pci.c

index 7f96843f5215e604c426802c0a09268b73dfa189..2c63907db22825e260653c6e9654e2b9eaa10d43 100644 (file)
@@ -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;