crypto: caam/qi - execute library only on DPAA 1.x
authorHoria Geantă <horia.geanta@nxp.com>
Mon, 5 Aug 2019 12:49:55 +0000 (15:49 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 15 Aug 2019 11:52:13 +0000 (21:52 +1000)
In the process of turning caam/qi into a library, the check of
MCFGR[QI] bit has been inadvertently dropped.
Fix the condition for DPAA 1.x QI detection, which should be:
MCFGR[QI] && !MCFGR[DPAA2]

A check in the library exit point is currently not needed,
since the list of registered algorithms is empty.

While here, silence the library initialization abort - since jr.c
calls it unconditionally.

Fixes: 1b46c90c8e00 ("crypto: caam - convert top level drivers to libraries")
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/caam/caamalg_qi.c

index 59b59f5..fb54b2c 100644 (file)
@@ -2576,10 +2576,9 @@ int caam_qi_algapi_init(struct device *ctrldev)
        unsigned int md_limit = SHA512_DIGEST_SIZE;
        bool registered = false;
 
-       if (caam_dpaa2) {
-               dev_info(ctrldev, "caam/qi frontend driver not suitable for DPAA 2.x, aborting...\n");
-               return -ENODEV;
-       }
+       /* Make sure this runs only on (DPAA 1.x) QI */
+       if (!priv->qi_present || caam_dpaa2)
+               return 0;
 
        /*
         * Register crypto algorithms the device supports.