diff mbox series

PCI: dra7xx: Fix threaded IRQ handler registration

Message ID 20240824072135.9691-1-s-vadapalli@ti.com (mailing list archive)
State Rejected
Delegated to: Krzysztof WilczyƄski
Headers show
Series PCI: dra7xx: Fix threaded IRQ handler registration | expand

Commit Message

Siddharth Vadapalli Aug. 24, 2024, 7:21 a.m. UTC
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@vger.kernel.org>
Reported-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.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(-)

Comments

Siddharth Vadapalli Aug. 24, 2024, 8:03 a.m. UTC | #1
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@vger.kernel.org>
> Reported-by: Udit Kumar <u-kumar1@ti.com>
> Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.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
>
diff mbox series

Patch

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;