[PATCH] crypto: qce - simplify control flow in register functions
Thorsten Blum <[email protected]>
| Newsgroups | org.kernel.vger.linux-crypto,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Remove the goto statements and handle errors directly to simplify the control flow in qce_aead_register(), qce_ahash_register(), and qce_skcipher_register(). Signed-off-by: Thorsten Blum <[email protected]> --- drivers/crypto/qce/aead.c | 9 ++++----- drivers/crypto/qce/sha.c | 9 ++++----- drivers/crypto/qce/skcipher.c | 9 ++++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 1647d2329982..db2e2d7bfd07 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -829,14 +829,13 @@ static int qce_aead_register(struct qce_device *qce) for (i = 0; i < ARRAY_SIZE(aead_def); i++) { ret = qce_aead_register_one(&aead_def[i], qce); - if (ret) - goto err; + if (ret) { + qce_aead_unregister(qce); + return ret; + } } return 0; -err: - qce_aead_unregister(qce); - return ret; } const struct qce_algo_ops aead_ops = { diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index 87071f315088..915ba2dcc660 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -527,14 +527,13 @@ static int qce_ahash_register(struct qce_device *qce) for (i = 0; i < ARRAY_SIZE(ahash_def); i++) { ret = qce_ahash_register_one(&ahash_def[i], qce); - if (ret) - goto err; + if (ret) { + qce_ahash_unregister(qce); + return ret; + } } return 0; -err: - qce_ahash_unregister(qce); - return ret; } const struct qce_algo_ops ahash_ops = { diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index b9a931037fdc..6e6c5f4b33a5 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -511,14 +511,13 @@ static int qce_skcipher_register(struct qce_device *qce) for (i = 0; i < ARRAY_SIZE(skcipher_def); i++) { ret = qce_skcipher_register_one(&skcipher_def[i], qce); - if (ret) - goto err; + if (ret) { + qce_skcipher_unregister(qce); + return ret; + } } return 0; -err: - qce_skcipher_unregister(qce); - return ret; } const struct qce_algo_ops skcipher_ops = {