Hi Fabio, On Thu, 2021-10-07 at 10:56 -0300, Fabio Estevam wrote: > 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: 51abcf7fdb70 ("media: imx-pxp: add i.MX Pixel Pipeline driver") > Signed-off-by: Fabio Estevam <festevam@xxxxxxx> > --- > drivers/media/platform/imx-pxp.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/imx-pxp.c b/drivers/media/platform/imx-pxp.c > index acfc77f9d58f..7d1768ec7fcd 100644 > --- a/drivers/media/platform/imx-pxp.c > +++ b/drivers/media/platform/imx-pxp.c > @@ -1693,6 +1693,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) { > @@ -1710,8 +1712,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; Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> regards Philipp