diff options
author | Sudip Mukherjee <sudipm.mukherjee@gmail.com> | 2016-08-23 10:58:54 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-08-24 09:07:11 -0400 |
commit | 16d56963e832339fc2dff6a4afce14138fb61932 (patch) | |
tree | 283c63ff4fec92a15978458bee11185027f8424e | |
parent | e09287dfef280dbe9f9aa1faa7a125957e9b7fbb (diff) |
crypto: rockchip - use devm_add_action_or_reset()
If devm_add_action() fails we are explicitly calling the cleanup to free
the resources allocated. Lets use the helper devm_add_action_or_reset()
and return directly in case of error, as we know that the cleanup function
has been already called by the helper if there was any error.
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | drivers/crypto/rockchip/rk3288_crypto.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/crypto/rockchip/rk3288_crypto.c b/drivers/crypto/rockchip/rk3288_crypto.c index af508258d2ea..d0f80c6241f9 100644 --- a/drivers/crypto/rockchip/rk3288_crypto.c +++ b/drivers/crypto/rockchip/rk3288_crypto.c | |||
@@ -304,11 +304,9 @@ static int rk_crypto_probe(struct platform_device *pdev) | |||
304 | usleep_range(10, 20); | 304 | usleep_range(10, 20); |
305 | reset_control_deassert(crypto_info->rst); | 305 | reset_control_deassert(crypto_info->rst); |
306 | 306 | ||
307 | err = devm_add_action(dev, rk_crypto_action, crypto_info); | 307 | err = devm_add_action_or_reset(dev, rk_crypto_action, crypto_info); |
308 | if (err) { | 308 | if (err) |
309 | reset_control_assert(crypto_info->rst); | ||
310 | goto err_crypto; | 309 | goto err_crypto; |
311 | } | ||
312 | 310 | ||
313 | spin_lock_init(&crypto_info->lock); | 311 | spin_lock_init(&crypto_info->lock); |
314 | 312 | ||