[media] media: rc: gpio-ir-recv: do not allow threaded interrupt handler
authorLadislav Michl <ladis@linux-mips.org>
Thu, 7 Sep 2017 23:37:36 +0000 (20:37 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Wed, 4 Oct 2017 18:31:54 +0000 (15:31 -0300)
Requesting any context irq is not actually great idea since threaded
interrupt handler is run at too unpredictable time which turns
timing information wrong. Fix it by requesting regular interrupt.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/rc/gpio-ir-recv.c

index ae5f909..d82ddf9 100644 (file)
@@ -161,10 +161,9 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, gpio_dev);
 
-       rc = request_any_context_irq(gpio_to_irq(pdata->gpio_nr),
-                               gpio_ir_recv_irq,
-                       IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
-                                       "gpio-ir-recv-irq", gpio_dev);
+       rc = request_irq(gpio_to_irq(pdata->gpio_nr), gpio_ir_recv_irq,
+                        IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
+                        "gpio-ir-recv-irq", gpio_dev);
        if (rc < 0)
                goto err_request_irq;