media: imx-pxp: Initialize the spinlock prior to using it
After devm_request_threaded_irq() is called there is a chance that an
interrupt may occur before the spinlock is initialized, which will trigger
a kernel oops.
To prevent that, move the initialization of the spinlock prior to
requesting the interrupts.
Fixes: 51abcf7fdb ("media: imx-pxp: add i.MX Pixel Pipeline driver")
Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
549cc89cd0
commit
ed2f97ad4b
@@ -1659,6 +1659,8 @@ static int pxp_probe(struct platform_device *pdev)
|
||||
if (irq < 0)
|
||||
return irq;
|
||||
|
||||
spin_lock_init(&dev->irqlock);
|
||||
|
||||
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, pxp_irq_handler,
|
||||
IRQF_ONESHOT, dev_name(&pdev->dev), dev);
|
||||
if (ret < 0) {
|
||||
@@ -1676,8 +1678,6 @@ static int pxp_probe(struct platform_device *pdev)
|
||||
goto err_clk;
|
||||
}
|
||||
|
||||
spin_lock_init(&dev->irqlock);
|
||||
|
||||
ret = v4l2_device_register(&pdev->dev, &dev->v4l2_dev);
|
||||
if (ret)
|
||||
goto err_clk;
|
||||
|
||||
Reference in New Issue
Block a user