misc: pci_endpoint_test: Do not use managed IRQ functions
The pci_endpoint_test_request_irq() and pci_endpoint_test_release_irq() are called repeatedly by the users through pci_endpoint_test_set_irq(). So using the managed version of IRQ functions within these functions has no effect. Suggested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20250225110252.28866-7-hayashi.kunihiko@socionext.com Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
This commit is contained in:
parent
a402006d48
commit
e1ec81ebff
@ -208,10 +208,9 @@ static void pci_endpoint_test_release_irq(struct pci_endpoint_test *test)
|
||||
{
|
||||
int i;
|
||||
struct pci_dev *pdev = test->pdev;
|
||||
struct device *dev = &pdev->dev;
|
||||
|
||||
for (i = 0; i < test->num_irqs; i++)
|
||||
devm_free_irq(dev, pci_irq_vector(pdev, i), test);
|
||||
free_irq(pci_irq_vector(pdev, i), test);
|
||||
|
||||
test->num_irqs = 0;
|
||||
}
|
||||
@ -224,9 +223,9 @@ static int pci_endpoint_test_request_irq(struct pci_endpoint_test *test)
|
||||
struct device *dev = &pdev->dev;
|
||||
|
||||
for (i = 0; i < test->num_irqs; i++) {
|
||||
ret = devm_request_irq(dev, pci_irq_vector(pdev, i),
|
||||
pci_endpoint_test_irqhandler,
|
||||
IRQF_SHARED, test->name, test);
|
||||
ret = request_irq(pci_irq_vector(pdev, i),
|
||||
pci_endpoint_test_irqhandler, IRQF_SHARED,
|
||||
test->name, test);
|
||||
if (ret)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user