hwrng: imx-rngc - fix an error path
authorMartin Kaiser <martin@kaiser.cx>
Thu, 5 Mar 2020 20:58:20 +0000 (21:58 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Apr 2020 08:34:33 +0000 (10:34 +0200)
commit 47a1f8e8b3637ff5f7806587883d7d94068d9ee8 upstream.

Make sure that the rngc interrupt is masked if the rngc self test fails.
Self test failure means that probe fails as well. Interrupts should be
masked in this case, regardless of the error.

Cc: stable@vger.kernel.org
Fixes: 1d5449445bd0 ("hwrng: mx-rngc - add a driver for Freescale RNGC")
Reviewed-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/hw_random/imx-rngc.c

index 88db42d30760645d84cd8e5f4ecd70f1239457b9..48194d1a607673c7605cbcf4e1d6f26f707a231e 100644 (file)
@@ -110,8 +110,10 @@ static int imx_rngc_self_test(struct imx_rngc *rngc)
                return -ETIMEDOUT;
        }
 
-       if (rngc->err_reg != 0)
+       if (rngc->err_reg != 0) {
+               imx_rngc_irq_mask_clear(rngc);
                return -EIO;
+       }
 
        return 0;
 }