[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d4789281-7eb3-4cde-aa1f-35f979484575@ti.com>
Date: Sat, 24 Aug 2024 13:33:02 +0530
From: Siddharth Vadapalli <s-vadapalli@...com>
To: <bhelgaas@...gle.com>, <lpieralisi@...nel.org>, <kw@...ux.com>,
<robh@...nel.org>, <vigneshr@...com>, <kishon@...nel.org>,
<manivannan.sadhasivam@...aro.org>
CC: <linux-omap@...r.kernel.org>, <linux-pci@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>,
<stable@...r.kernel.org>, <u-kumar1@...com>, <srk@...com>,
<s-vadapalli@...com>
Subject: Re: [PATCH] PCI: dra7xx: Fix threaded IRQ handler registration
On Sat, Aug 24, 2024 at 12:51:35PM +0530, Siddharth Vadapalli wrote:
Kindly ignore this patch. Sorry for the noise. I was debugging an issue
and this patch fixed it. But the cause of the issue is probably a race
condition.
Regards,
Siddharth.
> Commit da87d35a6e51 ("PCI: dra7xx: Use threaded IRQ handler for
> "dra7xx-pcie-main" IRQ") switched from devm_request_irq() to
> devm_request_threaded_irq(). In this process, the "handler" and the
> "thread_fn" parameters were erroneously interchanged, with "NULL" being
> passed as the "handler" and "dra7xx_pcie_irq_handler()" being registered
> as the function to be called in a threaded interrupt context.
>
> Fix this by interchanging the "handler" and "thread_fn" parameters.
> While at it, correct the indentation.
>
> Fixes: da87d35a6e51 ("PCI: dra7xx: Use threaded IRQ handler for "dra7xx-pcie-main" IRQ")
> Cc: <stable@...r.kernel.org>
> Reported-by: Udit Kumar <u-kumar1@...com>
> Signed-off-by: Siddharth Vadapalli <s-vadapalli@...com>
> ---
>
> Hello,
>
> This patch is based on commit
> d2bafcf224f3 Merge tag 'cgroup-for-6.11-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
> of Mainline Linux.
>
> Regards,
> Siddharth.
>
> drivers/pci/controller/dwc/pci-dra7xx.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c
> index 4fe3b0cb72ec..4c64ac27af40 100644
> --- a/drivers/pci/controller/dwc/pci-dra7xx.c
> +++ b/drivers/pci/controller/dwc/pci-dra7xx.c
> @@ -849,8 +849,9 @@ static int dra7xx_pcie_probe(struct platform_device *pdev)
> }
> dra7xx->mode = mode;
>
> - ret = devm_request_threaded_irq(dev, irq, NULL, dra7xx_pcie_irq_handler,
> - IRQF_SHARED, "dra7xx-pcie-main", dra7xx);
> + ret = devm_request_threaded_irq(dev, irq, dra7xx_pcie_irq_handler, NULL,
> + IRQF_SHARED, "dra7xx-pcie-main",
> + dra7xx);
> if (ret) {
> dev_err(dev, "failed to request irq\n");
> goto err_gpio;
> --
> 2.40.1
>
Powered by blists - more mailing lists