Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3c5386a authored by Fabio Estevam's avatar Fabio Estevam Committed by Greg Kroah-Hartman
Browse files

media: imx-pxp: Initialize the spinlock prior to using it



[ Upstream commit ed2f97ad4b21072f849cf4ae6645d1f2b1d3f550 ]

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: 51abcf7f ("media: imx-pxp: add i.MX Pixel Pipeline driver")
Signed-off-by: default avatarFabio Estevam <festevam@denx.de>
Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 0410f7ac
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1664,6 +1664,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) {
@@ -1681,8 +1683,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;