diff options
author | Lokesh Vutla <lokeshvutla@ti.com> | 2016-06-01 04:56:02 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-06-07 06:41:52 -0400 |
commit | 3741bbb207f7b9e92ad3b878a30ccd1ddcdb8ac8 (patch) | |
tree | 26539599039d606b22b58556fd27a5523abc48bf | |
parent | 0a7f330c12f2b3cab53b396d4dc369c2dcf272eb (diff) |
crypto: omap-aes - Fix registration of algorithms
Algorithms can be registered only once. So skip registration of
algorithms if already registered (i.e. in case we have two AES cores
in the system.)
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | drivers/crypto/omap-aes.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/crypto/omap-aes.c b/drivers/crypto/omap-aes.c index ce174d3b842c..4a0e6a545ba2 100644 --- a/drivers/crypto/omap-aes.c +++ b/drivers/crypto/omap-aes.c | |||
@@ -1185,17 +1185,19 @@ static int omap_aes_probe(struct platform_device *pdev) | |||
1185 | spin_unlock(&list_lock); | 1185 | spin_unlock(&list_lock); |
1186 | 1186 | ||
1187 | for (i = 0; i < dd->pdata->algs_info_size; i++) { | 1187 | for (i = 0; i < dd->pdata->algs_info_size; i++) { |
1188 | for (j = 0; j < dd->pdata->algs_info[i].size; j++) { | 1188 | if (!dd->pdata->algs_info[i].registered) { |
1189 | algp = &dd->pdata->algs_info[i].algs_list[j]; | 1189 | for (j = 0; j < dd->pdata->algs_info[i].size; j++) { |
1190 | algp = &dd->pdata->algs_info[i].algs_list[j]; | ||
1190 | 1191 | ||
1191 | pr_debug("reg alg: %s\n", algp->cra_name); | 1192 | pr_debug("reg alg: %s\n", algp->cra_name); |
1192 | INIT_LIST_HEAD(&algp->cra_list); | 1193 | INIT_LIST_HEAD(&algp->cra_list); |
1193 | 1194 | ||
1194 | err = crypto_register_alg(algp); | 1195 | err = crypto_register_alg(algp); |
1195 | if (err) | 1196 | if (err) |
1196 | goto err_algs; | 1197 | goto err_algs; |
1197 | 1198 | ||
1198 | dd->pdata->algs_info[i].registered++; | 1199 | dd->pdata->algs_info[i].registered++; |
1200 | } | ||
1199 | } | 1201 | } |
1200 | } | 1202 | } |
1201 | 1203 | ||