On Fri, 06 Jan 2023 15:32:27 +0200, Laurent Pinchart wrote: > There's no need to use threaded IRQs with the PXP, as the interrupt > handler doesn't need to sleep and doesn't perform any time-consuming > operation. Switch to regular IRQ handler. > > This fixes lockups of the PXP noticed on i.MX7, where the PXP would stop > generating interrupts after a variable number of frames (from a few > dozens to a few hundreds). The root cause is however unknown. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Michael Tretter <m.tretter@xxxxxxxxxxxxxx> > --- > drivers/media/platform/nxp/imx-pxp.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/nxp/imx-pxp.c b/drivers/media/platform/nxp/imx-pxp.c > index e4d7a6339929..28a222c8fe86 100644 > --- a/drivers/media/platform/nxp/imx-pxp.c > +++ b/drivers/media/platform/nxp/imx-pxp.c > @@ -1814,8 +1814,8 @@ static int pxp_probe(struct platform_device *pdev) > > spin_lock_init(&dev->irqlock); > > - ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, pxp_irq_handler, > - IRQF_ONESHOT, dev_name(&pdev->dev), dev); > + ret = devm_request_irq(&pdev->dev, irq, pxp_irq_handler, > + IRQF_TRIGGER_HIGH, dev_name(&pdev->dev), dev); > if (ret < 0) { > dev_err(&pdev->dev, "Failed to request irq: %d\n", ret); > return ret; > -- > Regards, > > Laurent Pinchart > >