diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2006-05-20 21:57:20 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2006-06-26 03:34:41 -0400 |
commit | 996e2523cc347cc98237d2da3454aedc779fdcba (patch) | |
tree | 8f58774666bfe6c166fc051bede26d779b827e4f /crypto/api.c | |
parent | d913ea0d6b6a48dd6eed8fc5e299b8b10e049186 (diff) |
[CRYPTO] api: Allow replacement when registering new algorithms
We already allow asynchronous removal of existing algorithm modules. By
allowing the replacement of existing algorithms, we can replace algorithms
without having to wait for for all existing users to complete.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/api.c')
-rw-r--r-- | crypto/api.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/api.c b/crypto/api.c index 735fdedd8217..c11ec1fd4f18 100644 --- a/crypto/api.c +++ b/crypto/api.c | |||
@@ -267,13 +267,13 @@ int crypto_register_alg(struct crypto_alg *alg) | |||
267 | down_write(&crypto_alg_sem); | 267 | down_write(&crypto_alg_sem); |
268 | 268 | ||
269 | list_for_each_entry(q, &crypto_alg_list, cra_list) { | 269 | list_for_each_entry(q, &crypto_alg_list, cra_list) { |
270 | if (!strcmp(q->cra_driver_name, alg->cra_driver_name)) { | 270 | if (q == alg) { |
271 | ret = -EEXIST; | 271 | ret = -EEXIST; |
272 | goto out; | 272 | goto out; |
273 | } | 273 | } |
274 | } | 274 | } |
275 | 275 | ||
276 | list_add_tail(&alg->cra_list, &crypto_alg_list); | 276 | list_add(&alg->cra_list, &crypto_alg_list); |
277 | out: | 277 | out: |
278 | up_write(&crypto_alg_sem); | 278 | up_write(&crypto_alg_sem); |
279 | return ret; | 279 | return ret; |