[PATCH] media: pisp_be: Initialize lock before requesting IRQ

Runyu Xiao runyu.xiao at seu.edu.cn
Sun Aug 30 08:00:45 PDT 2026


The PiSP BE interrupt handler can schedule work that takes hw_lock. The
lock must be initialized before devm_request_irq() makes the handler
runnable.

Fixes: 12187bd5d4f8 ("media: raspberrypi: Add support for PiSP BE")
Cc: stable at vger.kernel.org
Assisted-by: Codex:GPT-5
Signed-off-by: Runyu Xiao <runyu.xiao at seu.edu.cn>
---
 drivers/media/platform/raspberrypi/pisp_be/pisp_be.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
index d60d92d2f..43fca54be 100644
--- a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
+++ b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
@@ -1695,6 +1695,7 @@ static int pispbe_probe(struct platform_device *pdev)
 	dev_set_drvdata(&pdev->dev, pispbe);
 	pispbe->dev = &pdev->dev;
 	platform_set_drvdata(pdev, pispbe);
+	spin_lock_init(&pispbe->hw_lock);
 
 	pispbe->be_reg_base = devm_platform_ioremap_resource(pdev, 0);
 	if (IS_ERR(pispbe->be_reg_base)) {
@@ -1732,7 +1733,6 @@ static int pispbe_probe(struct platform_device *pdev)
 		goto pm_runtime_disable_err;
 
 	pispbe->hw_busy = false;
-	spin_lock_init(&pispbe->hw_lock);
 	ret = pispbe_hw_init(pispbe);
 	if (ret)
 		goto pm_runtime_suspend_err;
-- 
2.34.1




More information about the linux-arm-kernel mailing list