ltq-deu: init des/aes before registering crpyto algorithms
authorMathias Kresin <dev@kresin.me>
Mon, 19 Apr 2021 18:36:58 +0000 (20:36 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 5 Jan 2022 22:05:38 +0000 (23:05 +0100)
The crypto algorithms are registered and available to the system before
the chip is actually powered on and the generic parameter for the DEU
behaviour set.

The issue can mainly be observed if the crypto manager tests are enabled
in the kernel config. The crypto manager test run directly after an
algorithm is registered.

Signed-off-by: Mathias Kresin <dev@kresin.me>
[fix commit title prefix]
Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c
package/kernel/lantiq/ltq-deu/src/ifxmips_des.c

index 76abfafb4e69bf0118f6602745b326308139f800..7ce6df0ac64b25fa61bb4b1557b6185793ab8a86 100644 (file)
@@ -894,6 +894,7 @@ int ifxdeu_init_aes (void)
 {
     int ret = -ENOSYS;
 
+    aes_chip_init();
 
     if ((ret = crypto_register_alg(&ifxdeu_aes_alg)))
         goto aes_err;
@@ -910,8 +911,6 @@ int ifxdeu_init_aes (void)
     if ((ret = crypto_register_alg(&ifxdeu_ctr_rfc3686_aes_alg)))
         goto ctr_rfc3686_aes_err;
 
-    aes_chip_init ();
-
     CRTCL_SECT_INIT;
 
 
index 6d7d82fcb92fc181a164ff37615fb24eb6c752a6..69a758c33c32211700ef157c1ca56a92a8928372 100644 (file)
@@ -690,6 +690,7 @@ int ifxdeu_init_des (void)
 {
     int ret = -ENOSYS;
 
+        des_chip_init();
 
         ret = crypto_register_alg(&ifxdeu_des_alg);
         if (ret < 0)
@@ -715,7 +716,6 @@ int ifxdeu_init_des (void)
         if (ret < 0)
                 goto cbc_des3_ede_err;
 
-        des_chip_init();
         CRTCL_SECT_INIT;