hwrng: imx-rngc - Moving IRQ handler registering after imx_rngc_irq_mask_clear()
[platform/kernel/linux-rpi.git] / drivers / char / hw_random / imx-rngc.c
index b05d676..2964efe 100644 (file)
@@ -270,13 +270,6 @@ static int imx_rngc_probe(struct platform_device *pdev)
                goto err;
        }
 
-       ret = devm_request_irq(&pdev->dev,
-                       irq, imx_rngc_irq, 0, pdev->name, (void *)rngc);
-       if (ret) {
-               dev_err(rngc->dev, "Can't get interrupt working.\n");
-               goto err;
-       }
-
        init_completion(&rngc->rng_op_done);
 
        rngc->rng.name = pdev->name;
@@ -290,6 +283,13 @@ static int imx_rngc_probe(struct platform_device *pdev)
 
        imx_rngc_irq_mask_clear(rngc);
 
+       ret = devm_request_irq(&pdev->dev,
+                       irq, imx_rngc_irq, 0, pdev->name, (void *)rngc);
+       if (ret) {
+               dev_err(rngc->dev, "Can't get interrupt working.\n");
+               return ret;
+       }
+
        if (self_test) {
                ret = imx_rngc_self_test(rngc);
                if (ret) {