mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 14:04:54 +02:00
media: imx-pxp: Initialize the spinlock prior to using it
[ Upstream commited2f97ad4b] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
621e8ce75d
commit
e8d78f924f
|
|
@ -1664,6 +1664,8 @@ static int pxp_probe(struct platform_device *pdev)
|
||||||
if (irq < 0)
|
if (irq < 0)
|
||||||
return irq;
|
return irq;
|
||||||
|
|
||||||
|
spin_lock_init(&dev->irqlock);
|
||||||
|
|
||||||
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, pxp_irq_handler,
|
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, pxp_irq_handler,
|
||||||
IRQF_ONESHOT, dev_name(&pdev->dev), dev);
|
IRQF_ONESHOT, dev_name(&pdev->dev), dev);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
|
@ -1681,8 +1683,6 @@ static int pxp_probe(struct platform_device *pdev)
|
||||||
goto err_clk;
|
goto err_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_lock_init(&dev->irqlock);
|
|
||||||
|
|
||||||
ret = v4l2_device_register(&pdev->dev, &dev->v4l2_dev);
|
ret = v4l2_device_register(&pdev->dev, &dev->v4l2_dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_clk;
|
goto err_clk;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user