[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